XML 50 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue - Disaggregated Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Disaggregation of Revenue [Line Items]        
Revenue $ 174,556 $ 147,894 $ 505,968 $ 431,794
United States        
Disaggregation of Revenue [Line Items]        
Revenue 122,948 101,405 352,547 301,596
Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 22,650 19,818 64,438 53,167
Europe        
Disaggregation of Revenue [Line Items]        
Revenue 26,620 25,054 83,094 71,578
Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 2,338 1,617 5,889 5,453
Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 97,498 81,995 291,805 241,179
Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 16,715 14,652 49,825 54,860
Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 17,589 17,912 49,438 50,720
Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 14,687 11,497 37,044 28,646
Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 11,886 8,481 36,681 24,291
Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 10,411 8,777 27,733 23,229
Other        
Disaggregation of Revenue [Line Items]        
Revenue 5,770 4,580 13,442 8,869
Operating segments | Services        
Disaggregation of Revenue [Line Items]        
Revenue 144,976 119,721 414,251 349,271
Operating segments | Services | United States        
Disaggregation of Revenue [Line Items]        
Revenue 122,506 100,586 349,814 298,372
Operating segments | Services | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 21,681 18,767 61,847 49,548
Operating segments | Services | Europe        
Disaggregation of Revenue [Line Items]        
Revenue 491 350 1,381 721
Operating segments | Services | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 298 18 1,209 630
Operating segments | Services | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 88,508 72,195 264,959 214,773
Operating segments | Services | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 12,717 10,904 37,319 39,804
Operating segments | Services | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 10,560 12,209 30,621 35,374
Operating segments | Services | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 11,412 9,053 27,019 21,800
Operating segments | Services | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 8,819 6,023 27,031 17,026
Operating segments | Services | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 7,136 5,309 15,479 12,820
Operating segments | Services | Other        
Disaggregation of Revenue [Line Items]        
Revenue 5,824 4,028 11,823 7,674
Operating segments | International        
Disaggregation of Revenue [Line Items]        
Revenue 29,100 26,477 88,699 76,887
Operating segments | International | United States        
Disaggregation of Revenue [Line Items]        
Revenue 221 193 670 507
Operating segments | International | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 1,446 1,100 3,772 3,564
Operating segments | International | Europe        
Disaggregation of Revenue [Line Items]        
Revenue 26,378 24,790 82,356 71,056
Operating segments | International | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 1,055 394 1,901 1,760
Operating segments | International | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 8,620 9,749 26,208 26,192
Operating segments | International | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 3,897 3,676 12,341 14,686
Operating segments | International | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 6,693 5,261 17,736 13,997
Operating segments | International | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 2,615 2,054 7,776 4,958
Operating segments | International | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 3,035 2,373 9,574 7,103
Operating segments | International | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 2,467 2,245 9,477 6,726
Operating segments | International | Other        
Disaggregation of Revenue [Line Items]        
Revenue 1,773 1,119 5,587 3,225
Operating segments | Products        
Disaggregation of Revenue [Line Items]        
Revenue 3,308 3,932 9,499 10,746
Operating segments | Products | United States        
Disaggregation of Revenue [Line Items]        
Revenue 1,562 1,538 4,690 5,150
Operating segments | Products | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 133 75 301 425
Operating segments | Products | Europe        
Disaggregation of Revenue [Line Items]        
Revenue 499 1,002 1,462 1,930
Operating segments | Products | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 1,114 1,317 3,046 3,241
Operating segments | Products | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 370 51 638 214
Operating segments | Products | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 101 72 165 370
Operating segments | Products | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 336 442 1,081 1,349
Operating segments | Products | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 660 390 2,249 1,888
Operating segments | Products | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 32 85 76 162
Operating segments | Products | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 808 1,223 2,777 3,683
Operating segments | Products | Other        
Disaggregation of Revenue [Line Items]        
Revenue 1,001 1,669 2,513 3,080
Corp/Elim        
Disaggregation of Revenue [Line Items]        
Revenue (2,828) (2,236) (6,481) (5,110)
Corp/Elim | United States        
Disaggregation of Revenue [Line Items]        
Revenue (1,341) (912) (2,627) (2,433)
Corp/Elim | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue (610) (124) (1,482) (370)
Corp/Elim | Europe        
Disaggregation of Revenue [Line Items]        
Revenue (748) (1,088) (2,105) (2,129)
Corp/Elim | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue (129) (112) (267) (178)
Corp/Elim | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Other        
Disaggregation of Revenue [Line Items]        
Revenue $ (2,828) $ (2,236) $ (6,481) $ (5,110)