XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.1
Accounting policies - Performance obligations (Details)
3 Months Ended
Mar. 31, 2023
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Amount recognized revenue included in the contract liability balance $ 666,368
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, Remaining Performance Obligation, Amount $ 70,800,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-12-31  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, Remaining Performance Obligation, Amount $ 86,200,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-12-31  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, Remaining Performance Obligation, Amount $ 15,400,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 2 years