Annual report pursuant to Section 13 and 15(d)

Revenue Disclosures - Revenue Related to Performance Obligations - Maturity (Details)

v3.20.4
Revenue Disclosures - Revenue Related to Performance Obligations - Maturity (Details)
Dec. 31, 2020
USD ($)
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 16,504,114
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01  
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 3,000,369
Revenue expected to be recognized, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 2,671,594
Revenue expected to be recognized, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01  
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 2,369,976
Revenue expected to be recognized, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 1,894,088
Revenue expected to be recognized, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 1,677,554
Revenue expected to be recognized, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Disaggregation of Revenue [Line Items]  
Revenue expected to be recognized, amount $ 4,890,533
Revenue expected to be recognized, period