Revenue - Disaggregated Revenues (Details) - USD ($) $ in Thousands | 3 Months Ended |
Mar. 31, 2023 | Mar. 31, 2022 |
Disaggregation of Revenue [Line Items] | | |
Revenue | $ 168,016 | $ 161,662 |
United States | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 122,112 | 114,804 |
Other Americas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 17,653 | 18,800 |
Europe | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 25,030 | 26,320 |
Asia-Pacific | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 3,221 | 1,738 |
Oil & Gas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 98,665 | 94,223 |
Aerospace & Defense | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 18,602 | 20,070 |
Industrials | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 15,913 | 15,037 |
Power generation & Transmission | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 7,970 | 7,229 |
Other Process Industries | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 12,373 | 13,812 |
Infrastructure, Research & Engineering | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 5,761 | 5,442 |
Petrochemical | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 5,282 | 3,123 |
Other | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 3,450 | 2,726 |
Operating segments | North America | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 136,932 | 132,946 |
Operating segments | North America | United States | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 120,600 | 113,935 |
Operating segments | North America | Other Americas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 14,270 | 18,052 |
Operating segments | North America | Europe | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,412 | 744 |
Operating segments | North America | Asia-Pacific | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 650 | 215 |
Operating segments | North America | Oil & Gas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 89,773 | 86,613 |
Operating segments | North America | Aerospace & Defense | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 13,611 | 15,022 |
Operating segments | North America | Industrials | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 9,302 | 9,007 |
Operating segments | North America | Power generation & Transmission | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 4,987 | 3,822 |
Operating segments | North America | Other Process Industries | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 9,109 | 10,293 |
Operating segments | North America | Infrastructure, Research & Engineering | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 2,483 | 2,506 |
Operating segments | North America | Petrochemical | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 5,137 | 3,045 |
Operating segments | North America | Other | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 2,530 | 2,638 |
Operating segments | International | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 29,407 | 28,138 |
Operating segments | International | United States | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 309 | 173 |
Operating segments | International | Other Americas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 3,489 | 1,341 |
Operating segments | International | Europe | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 24,183 | 25,920 |
Operating segments | International | Asia-Pacific | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,426 | 704 |
Operating segments | International | Oil & Gas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 8,855 | 7,572 |
Operating segments | International | Aerospace & Defense | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 4,980 | 4,940 |
Operating segments | International | Industrials | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 6,053 | 5,528 |
Operating segments | International | Power generation & Transmission | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,657 | 2,562 |
Operating segments | International | Other Process Industries | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 3,237 | 3,518 |
Operating segments | International | Infrastructure, Research & Engineering | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 2,136 | 2,039 |
Operating segments | International | Petrochemical | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 145 | 78 |
Operating segments | International | Other | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 2,344 | 1,901 |
Operating segments | Products & Systems | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 3,739 | 2,936 |
Operating segments | Products & Systems | United States | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,801 | 1,351 |
Operating segments | Products & Systems | Other Americas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 326 | 16 |
Operating segments | Products & Systems | Europe | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 261 | 580 |
Operating segments | Products & Systems | Asia-Pacific | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,351 | 989 |
Operating segments | Products & Systems | Oil & Gas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 37 | 38 |
Operating segments | Products & Systems | Aerospace & Defense | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 11 | 108 |
Operating segments | Products & Systems | Industrials | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 558 | 502 |
Operating segments | Products & Systems | Power generation & Transmission | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,326 | 845 |
Operating segments | Products & Systems | Other Process Industries | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 27 | 1 |
Operating segments | Products & Systems | Infrastructure, Research & Engineering | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 1,142 | 897 |
Operating segments | Products & Systems | Petrochemical | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Operating segments | Products & Systems | Other | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 638 | 545 |
Corp/Elim | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | (2,062) | (2,358) |
Corp/Elim | United States | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | (598) | (655) |
Corp/Elim | Other Americas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | (432) | (609) |
Corp/Elim | Europe | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | (826) | (924) |
Corp/Elim | Asia-Pacific | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | (206) | (170) |
Corp/Elim | Oil & Gas | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Aerospace & Defense | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Industrials | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Power generation & Transmission | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Other Process Industries | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Infrastructure, Research & Engineering | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Petrochemical | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | 0 | 0 |
Corp/Elim | Other | | |
Disaggregation of Revenue [Line Items] | | |
Revenue | $ (2,062) | $ (2,358) |