v3.20.1
Stockholders' Equity - Options Outstanding and Exercisable (Details)
|
12 Months Ended |
$ / shares
shares
|
OPTIONS OUTSTANDING |
|
Number of Shares Outstanding (in shares) | shares |
777,153
|
Weighted Average Remaining Contractual Life (in years) |
6 years 10 months 10 days
|
Weighted Average Exercise Price (in dollars per share) |
$ 1.04
|
OPTIONS EXERCISABLE |
|
Number of Shares Exercisable (in shares) | shares |
111,595
|
Weighted Average Remaining Contractual Life (in years) |
6 years
|
Weighted Average Exercise Price (in dollars per share) |
$ 4.61
|
Exercise price, range one |
|
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
Range of Exercise Prices, lower limit (in dollars per share) |
0.42
|
Range of Exercise Prices, upper limit (in dollars per share) |
$ 0.45
|
OPTIONS OUTSTANDING |
|
Number of Shares Outstanding (in shares) | shares |
450,000
|
Weighted Average Remaining Contractual Life (in years) |
9 years 5 months 20 days
|
Weighted Average Exercise Price (in dollars per share) |
$ 0.42
|
OPTIONS EXERCISABLE |
|
Number of Shares Exercisable (in shares) | shares |
0
|
Weighted Average Exercise Price (in dollars per share) |
$ 0.00
|
Exercise price, range two |
|
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
Range of Exercise Prices, lower limit (in dollars per share) |
0.46
|
Range of Exercise Prices, upper limit (in dollars per share) |
$ 1.81
|
OPTIONS OUTSTANDING |
|
Number of Shares Outstanding (in shares) | shares |
213,800
|
Weighted Average Remaining Contractual Life (in years) |
1 year 10 months 20 days
|
Weighted Average Exercise Price (in dollars per share) |
$ 0.48
|
OPTIONS EXERCISABLE |
|
Number of Shares Exercisable (in shares) | shares |
0
|
Weighted Average Exercise Price (in dollars per share) |
$ 0.00
|
Exercise price, range three |
|
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
Range of Exercise Prices, lower limit (in dollars per share) |
1.82
|
Range of Exercise Prices, upper limit (in dollars per share) |
$ 3.76
|
OPTIONS OUTSTANDING |
|
Number of Shares Outstanding (in shares) | shares |
72,603
|
Weighted Average Remaining Contractual Life (in years) |
7 years 2 months
|
Weighted Average Exercise Price (in dollars per share) |
$ 3.34
|
OPTIONS EXERCISABLE |
|
Number of Shares Exercisable (in shares) | shares |
70,845
|
Weighted Average Remaining Contractual Life (in years) |
7 years 2 months
|
Weighted Average Exercise Price (in dollars per share) |
$ 3.35
|
Exercise price, range four |
|
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
Range of Exercise Prices, lower limit (in dollars per share) |
3.77
|
Range of Exercise Prices, upper limit (in dollars per share) |
$ 10.70
|
OPTIONS OUTSTANDING |
|
Number of Shares Outstanding (in shares) | shares |
40,750
|
Weighted Average Remaining Contractual Life (in years) |
4 years 1 month
|
Weighted Average Exercise Price (in dollars per share) |
$ 6.80
|
OPTIONS EXERCISABLE |
|
Number of Shares Exercisable (in shares) | shares |
40,750
|
Weighted Average Remaining Contractual Life (in years) |
4 years 1 month
|
Weighted Average Exercise Price (in dollars per share) |
$ 6.80
|
X |
- DefinitionShare-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract]
+ References
+ Details
Name: |
efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract |
Namespace Prefix: |
efoi_ |
Data Type: |
xbrli:stringItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- DefinitionShare-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract]
+ References
+ Details
Name: |
efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract |
Namespace Prefix: |
efoi_ |
Data Type: |
xbrli:stringItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- DefinitionLine 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.
+ References
+ Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems |
Namespace Prefix: |
us-gaap_ |
Data Type: |
xbrli:stringItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- DefinitionThe 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.
+ References
+ Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit |
Namespace Prefix: |
us-gaap_ |
Data Type: |
num:perShareItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- DefinitionThe 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.
+ References
+ Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions |
Namespace Prefix: |
us-gaap_ |
Data Type: |
xbrli:sharesItemType |
Balance Type: |
na |
Period Type: |
instant |
|
X |
- DefinitionThe 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.
+ References
+ Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions |
Namespace Prefix: |
us-gaap_ |
Data Type: |
xbrli:sharesItemType |
Balance Type: |
na |
Period Type: |
instant |
|
X |
- DefinitionThe 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.
+ References
+ Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit |
Namespace Prefix: |
us-gaap_ |
Data Type: |
num:perShareItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- DefinitionWeighted 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.
+ References
+ Details
Name: |
us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 |
Namespace Prefix: |
us-gaap_ |
Data Type: |
xbrli:durationItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- DefinitionWeighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.
+ References
+ Details
Name: |
us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 |
Namespace Prefix: |
us-gaap_ |
Data Type: |
num:perShareItemType |
Balance Type: |
na |
Period Type: |
instant |
|
X |
- DefinitionThe 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.
+ References
+ Details
Name: |
us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 |
Namespace Prefix: |
us-gaap_ |
Data Type: |
num:perShareItemType |
Balance Type: |
na |
Period Type: |
instant |
|
X |
- DefinitionWeighted 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.
+ References
+ Details
Name: |
us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 |
Namespace Prefix: |
us-gaap_ |
Data Type: |
xbrli:durationItemType |
Balance Type: |
na |
Period Type: |
duration |
|
X |
- Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeOneMember |
Namespace Prefix: |
|
Data Type: |
na |
Balance Type: |
|
Period Type: |
|
|
X |
- Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeTwoMember |
Namespace Prefix: |
|
Data Type: |
na |
Balance Type: |
|
Period Type: |
|
|
X |
- Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeThreeMember |
Namespace Prefix: |
|
Data Type: |
na |
Balance Type: |
|
Period Type: |
|
|
X |
- Details
Name: |
us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFourMember |
Namespace Prefix: |
|
Data Type: |
na |
Balance Type: |
|
Period Type: |
|
|
|