Quarterly report pursuant to Section 13 or 15(d)

REVENUE - Disaggregation of revenue (Details)

v3.21.2
REVENUE - Disaggregation of revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Disaggregation of revenue        
Revenue $ 73,351 $ 66,240 $ 225,773 $ 204,936
Variable consideration        
Maximum limited warranty term     2 years  
United States        
Disaggregation of revenue        
Revenue 64,379 57,984 $ 197,287 178,447
Canada        
Disaggregation of revenue        
Revenue 8,972 8,256 28,486 26,489
Cost-plus reimbursement contracts        
Disaggregation of revenue        
Revenue 63,363 57,123 201,027 182,689
Fixed-price contracts        
Disaggregation of revenue        
Revenue $ 9,988 $ 9,117 $ 24,746 $ 22,247