XML 47 R38.htm IDEA: XBRL DOCUMENT v3.22.1
Revenue - Disaggregation of Revenue by Revenue Source and Pattern of Revenue Recognition (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Disaggregation of Revenue [Line Items]    
Revenues $ 222,111 $ 169,341
Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 221,110 168,019
Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 1,001 1,322
Services    
Disaggregation of Revenue [Line Items]    
Revenues 221,434 168,730
Services | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 221,110 168,019
Services | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 324 711
Professional services    
Disaggregation of Revenue [Line Items]    
Revenues 219,164 164,902
Professional services | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 219,164 164,902
Professional services | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Professional services | Time and materials contracts    
Disaggregation of Revenue [Line Items]    
Revenues 171,629 128,591
Professional services | Time and materials contracts | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 171,629 128,591
Professional services | Time and materials contracts | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Professional services | Fixed fee percent complete contracts    
Disaggregation of Revenue [Line Items]    
Revenues 14,369 11,580
Professional services | Fixed fee percent complete contracts | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 14,369 11,580
Professional services | Fixed fee percent complete contracts | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Professional services | Fixed fee contracts    
Disaggregation of Revenue [Line Items]    
Revenues 31,207 22,477
Professional services | Fixed fee contracts | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 31,207 22,477
Professional services | Fixed fee contracts | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Professional services | Reimbursable expenses    
Disaggregation of Revenue [Line Items]    
Revenues 1,959 2,254
Professional services | Reimbursable expenses | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 1,959 2,254
Professional services | Reimbursable expenses | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Other services    
Disaggregation of Revenue [Line Items]    
Revenues 2,270 3,828
Other services | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 1,946 3,117
Other services | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues 324 711
Software and hardware    
Disaggregation of Revenue [Line Items]    
Revenues 677 611
Software and hardware | Over Time    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Software and hardware | Point In Time    
Disaggregation of Revenue [Line Items]    
Revenues $ 677 $ 611