XML 85 R72.htm IDEA: XBRL DOCUMENT v3.22.4
Revenue Recognition - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]                      
Revenues $ 147,324 $ 148,009 $ 137,833 $ 132,402 $ 135,748 $ 128,738 $ 122,869 $ 117,842 $ 565,568 $ 505,198 $ 425,544
Revenue, remaining performance obligation, percentage                 100.00% 100.00%  
Revenue recognized over time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 $ 35,695 $ 28,524  
Revenue recognized over time | Service Concentration Risk | Revenue Benchmark                      
Disaggregation of Revenue [Line Items]                      
Revenue, remaining performance obligation, percentage                 6.30% 5.60%  
Revenue recognized at a point in time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 $ 529,873 $ 476,674  
Revenue recognized at a point in time | Product Concentration Risk | Revenue Benchmark                      
Disaggregation of Revenue [Line Items]                      
Revenue, remaining performance obligation, percentage                 93.70% 94.40%