v3.26.1
Note 15 - Segments - Segmented Earnings Breakdown (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Net sales $ 178,491 $ 152,238
Cost of sales 108,893 93,419
Segment gross profit $ 69,598 $ 58,819
Segment gross profit % 39.00% 38.60%
Research and development costs $ 8,507 $ 7,222
Selling, general and administrative expenses 36,730 29,507
Restructuring charges 76 (2,933)
Earnout liability adjustment 619 0
Interest expense 2,530 4,152
Interest income (150) (275)
Other income, net 3,494 (2,639)
Earnings before provision for income taxes 17,792 23,785
Aerospace, Defense, and Rugged Solutions Segment [Member]    
Net sales 99,821 83,122
Industrial Technology and Data Solutions Segment [Member]    
Net sales 78,670 69,116
Operating Segments [Member]    
Net sales 178,491 152,238
Cost of sales 108,346 93,130
Segment gross profit $ 70,145 $ 59,108
Segment gross profit % 39.30% 38.80%
Interest expense $ 15 $ 115
Operating Segments [Member] | Aerospace, Defense, and Rugged Solutions Segment [Member]    
Net sales 99,821 83,122
Cost of sales 58,443 49,794
Segment gross profit $ 41,378 $ 33,328
Segment gross profit % 41.50% 40.10%
Interest expense $ 0 $ 14
Operating Segments [Member] | Industrial Technology and Data Solutions Segment [Member]    
Net sales 78,670 69,116
Cost of sales 49,903 43,336
Segment gross profit $ 28,767 $ 25,780
Segment gross profit % 36.60% 37.30%
Interest expense $ 15 $ 101
Segment Reporting, Reconciling Item, Corporate Nonsegment [Member]    
Segment gross profit (547) (289)
Interest expense $ 2,515 $ 4,037