v3.21.1
Revenue Recognition - Remaining Performance Obligations (Details) - USD ($)
3 Months Ended
Mar. 31, 2021
Mar. 31, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Performance obligation $ 409,000  
Revenue recognized $ 156,885 $ 127,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-04-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Performance obligation, percentage 64.80%  
Timing of satisfaction of remaining performance obligation 9 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Performance obligation, percentage 31.10%  
Timing of satisfaction of remaining performance obligation 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Performance obligation, percentage 4.10%  
Timing of satisfaction of remaining performance obligation 1 year