XML 49 R38.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue - Disaggregation of Revenue by Revenue Source and Pattern of Revenue Recognition (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Disaggregation of Revenue [Line Items]        
Revenues $ 146,339 $ 141,869 $ 291,901 $ 275,684
Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 145,415 140,367 290,079 272,642
Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 924 1,502 1,822 3,042
Services        
Disaggregation of Revenue [Line Items]        
Revenues 145,836 141,234 291,238 274,100
Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 145,415 140,367 290,079 272,642
Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 421 867 1,159 1,458
Professional Services        
Disaggregation of Revenue [Line Items]        
Revenues 142,099 136,843 283,133 265,773
Professional Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 142,099 136,843 283,133 265,773
Professional Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Time and materials contracts        
Disaggregation of Revenue [Line Items]        
Revenues 102,294 96,084 202,285 184,462
Professional Services | Time and materials contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 102,294 96,084 202,285 184,462
Professional Services | Time and materials contracts | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Fixed fee percent complete contracts        
Disaggregation of Revenue [Line Items]        
Revenues 14,015 10,414 25,636 22,872
Professional Services | Fixed fee percent complete contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 14,015 10,414 25,636 22,872
Professional Services | Fixed fee percent complete contracts | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Fixed fee contracts        
Disaggregation of Revenue [Line Items]        
Revenues 24,260 25,955 49,288 50,135
Professional Services | Fixed fee contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 24,260 25,955 49,288 50,135
Professional Services | Fixed fee contracts | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Reimbursable expenses        
Disaggregation of Revenue [Line Items]        
Revenues 1,530 4,390 5,924 8,304
Professional Services | Reimbursable expenses | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 1,530 4,390 5,924 8,304
Professional Services | Reimbursable expenses | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Other Services        
Disaggregation of Revenue [Line Items]        
Revenues 3,737 4,391 8,105 8,327
Other Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 3,316 3,524 6,946 6,869
Other Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 421 867 1,159 1,458
Software and hardware        
Disaggregation of Revenue [Line Items]        
Revenues 503 635 663 1,584
Software and hardware | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Software and hardware | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues $ 503 $ 635 $ 663 $ 1,584