XML 46 R36.htm IDEA: XBRL DOCUMENT v3.19.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, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Disaggregation of Revenue [Line Items]        
Revenues $ 141,869 $ 121,798 $ 275,684 $ 242,739
Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 140,367 120,128 272,642 239,505
Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 1,502 1,670 3,042 3,234
Services        
Disaggregation of Revenue [Line Items]        
Revenues 141,234 120,912 274,100 241,107
Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 140,367 120,128 272,642 239,505
Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 867 784 1,458 1,602
Professional Services        
Disaggregation of Revenue [Line Items]        
Revenues 136,843 116,374 265,773 231,887
Professional Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 136,843 116,374 265,773 231,887
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 96,084 84,884 184,462 167,033
Professional Services | Time and materials contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 96,084 84,884 184,462 167,033
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 10,414 7,898 22,872 17,010
Professional Services | Fixed fee percent complete contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 10,414 7,898 22,872 17,010
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 25,955 20,377 50,135 41,599
Professional Services | Fixed fee contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 25,955 20,377 50,135 41,599
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 4,390 3,215 8,304 6,245
Professional Services | Reimbursable expenses | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 4,390 3,215 8,304 6,245
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 4,391 4,538 8,327 9,220
Other Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 3,524 3,754 6,869 7,618
Other Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 867 784 1,458 1,602
Software and hardware        
Disaggregation of Revenue [Line Items]        
Revenues 635 886 1,584 1,632
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 $ 635 $ 886 $ 1,584 $ 1,632