XML 56 R44.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenues - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Disaggregation of Revenue [Line Items]                      
Revenues $ 214,730 $ 192,820 $ 184,136 $ 169,341 $ 162,554 $ 157,678 $ 146,339 $ 145,562 $ 761,027 $ 612,133 $ 565,527
Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 756,486 607,101 559,040
Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 4,541 5,032 6,487
Professional Services                      
Disaggregation of Revenue [Line Items]                      
Revenues                 745,166 593,565 545,436
Professional Services | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 745,166 593,565 545,436
Professional Services | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Time and materials contracts                      
Disaggregation of Revenue [Line Items]                      
Revenues                 577,674 436,466 384,422
Professional Services | Time and materials contracts | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 577,674 436,466 384,422
Professional Services | Time and materials contracts | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Fixed fee percent complete contracts                      
Disaggregation of Revenue [Line Items]                      
Revenues                 49,117 51,752 41,484
Professional Services | Fixed fee percent complete contracts | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 49,117 51,752 41,484
Professional Services | Fixed fee percent complete contracts | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Fixed fee contracts                      
Disaggregation of Revenue [Line Items]                      
Revenues                 107,698 95,237 104,056
Professional Services | Fixed fee contracts | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 107,698 95,237 104,056
Professional Services | Fixed fee contracts | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Reimbursable expenses                      
Disaggregation of Revenue [Line Items]                      
Revenues                 10,677 10,110 15,474
Professional Services | Reimbursable expenses | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 10,677 10,110 15,474
Professional Services | Reimbursable expenses | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Other Services                      
Disaggregation of Revenue [Line Items]                      
Revenues                 13,556 16,018 16,482
Other Services | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 11,320 13,536 13,604
Other Services | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,236 2,482 2,878
Total services                      
Disaggregation of Revenue [Line Items]                      
Revenues                 758,722 609,583 561,918
Total services | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 756,486 607,101 559,040
Total services | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,236 2,482 2,878
Software and hardware                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,305 2,550 3,609
Software and hardware | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Software and hardware | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,305 2,550 3,609
United States                      
Disaggregation of Revenue [Line Items]                      
Revenues                 738,298 599,236 552,357
Other countries                      
Disaggregation of Revenue [Line Items]                      
Revenues                 $ 22,729 $ 12,897 $ 13,170