XML 51 R41.htm IDEA: XBRL DOCUMENT v3.24.2.u1
Revenue - Disaggregated Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Disaggregation of Revenue [Line Items]        
Revenue $ 189,773 $ 176,030 $ 374,215 $ 344,046
United States        
Disaggregation of Revenue [Line Items]        
Revenue 132,635 124,626 262,474 246,738
Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 24,403 23,686 43,762 41,339
Europe        
Disaggregation of Revenue [Line Items]        
Revenue 31,259 25,094 61,380 50,124
Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 1,476 2,624 6,599 5,845
Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 109,256 106,124 222,421 204,789
Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 22,340 19,018 44,458 37,620
Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 18,294 17,737 33,493 33,650
Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 9,033 8,156 14,885 16,126
Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 14,909 13,381 26,809 25,754
Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 8,633 6,746 15,219 12,507
Petrochemical        
Disaggregation of Revenue [Line Items]        
Revenue 4,019 1,733 8,363 7,015
Other        
Disaggregation of Revenue [Line Items]        
Revenue 3,289 3,135 8,567 6,585
Operating segments | North America        
Disaggregation of Revenue [Line Items]        
Revenue 156,394 145,550 306,743 282,482
Operating segments | North America | United States        
Disaggregation of Revenue [Line Items]        
Revenue 130,870 122,972 260,328 243,572
Operating segments | North America | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 24,594 21,041 41,721 35,311
Operating segments | North America | Europe        
Disaggregation of Revenue [Line Items]        
Revenue 611 1,282 1,764 2,694
Operating segments | North America | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 319 255 2,930 905
Operating segments | North America | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 96,356 97,500 199,383 187,273
Operating segments | North America | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 16,596 13,665 31,971 27,276
Operating segments | North America | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 11,853 11,066 20,762 20,368
Operating segments | North America | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 7,332 5,459 10,924 10,446
Operating segments | North America | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 10,368 8,864 18,296 17,973
Operating segments | North America | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 5,125 4,171 9,097 6,654
Operating segments | North America | Petrochemical        
Disaggregation of Revenue [Line Items]        
Revenue 3,848 1,577 7,661 6,714
Operating segments | North America | Other        
Disaggregation of Revenue [Line Items]        
Revenue 4,916 3,248 8,649 5,778
Operating segments | International        
Disaggregation of Revenue [Line Items]        
Revenue 34,264 30,277 67,311 59,684
Operating segments | International | United States        
Disaggregation of Revenue [Line Items]        
Revenue 432 280 728 589
Operating segments | International | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 1,921 3,821 4,216 7,310
Operating segments | International | Europe        
Disaggregation of Revenue [Line Items]        
Revenue 31,183 24,474 59,846 48,657
Operating segments | International | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 728 1,702 2,521 3,128
Operating segments | International | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 12,735 8,609 22,801 17,464
Operating segments | International | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 5,697 5,136 12,429 10,116
Operating segments | International | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 5,878 6,203 11,731 12,256
Operating segments | International | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 1,254 1,530 2,936 3,187
Operating segments | International | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 4,504 4,466 8,437 7,703
Operating segments | International | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 2,813 2,028 5,018 4,164
Operating segments | International | Petrochemical        
Disaggregation of Revenue [Line Items]        
Revenue 171 156 702 301
Operating segments | International | Other        
Disaggregation of Revenue [Line Items]        
Revenue 1,212 2,149 3,257 4,493
Operating segments | Products        
Disaggregation of Revenue [Line Items]        
Revenue 3,373 3,329 6,583 7,068
Operating segments | Products | United States        
Disaggregation of Revenue [Line Items]        
Revenue 1,542 1,645 3,142 3,446
Operating segments | Products | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue 675 298 852 624
Operating segments | Products | Europe        
Disaggregation of Revenue [Line Items]        
Revenue 580 504 1,231 765
Operating segments | Products | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue 576 882 1,358 2,233
Operating segments | Products | Oil & Gas        
Disaggregation of Revenue [Line Items]        
Revenue 165 15 237 52
Operating segments | Products | Aerospace & Defense        
Disaggregation of Revenue [Line Items]        
Revenue 47 217 58 228
Operating segments | Products | Industrials        
Disaggregation of Revenue [Line Items]        
Revenue 563 468 1,000 1,026
Operating segments | Products | Power Generation & Transmission        
Disaggregation of Revenue [Line Items]        
Revenue 447 1,167 1,025 2,493
Operating segments | Products | Other Process Industries        
Disaggregation of Revenue [Line Items]        
Revenue 37 51 76 78
Operating segments | Products | Infrastructure, Research & Engineering        
Disaggregation of Revenue [Line Items]        
Revenue 695 547 1,104 1,689
Operating segments | Products | Petrochemical        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Operating segments | Products | Other        
Disaggregation of Revenue [Line Items]        
Revenue 1,419 864 3,083 1,502
Corp/Elim        
Disaggregation of Revenue [Line Items]        
Revenue (4,258) (3,126) (6,422) (5,188)
Corp/Elim | United States        
Disaggregation of Revenue [Line Items]        
Revenue (209) (271) (1,724) (869)
Corp/Elim | Other Americas        
Disaggregation of Revenue [Line Items]        
Revenue (2,787) (1,474) (3,027) (1,906)
Corp/Elim | Europe        
Disaggregation of Revenue [Line Items]        
Revenue (1,115) (1,166) (1,461) (1,992)
Corp/Elim | Asia-Pacific        
Disaggregation of Revenue [Line Items]        
Revenue (147) (215) (210) (421)
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 | Petrochemical        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Corp/Elim | Other        
Disaggregation of Revenue [Line Items]        
Revenue $ (4,258) $ (3,126) $ (6,422) $ (5,188)