v3.26.1
Business segment information - Schedule of Business segment information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Net sales:        
Total Net sales $ 43,614 $ 40,366 $ 84,183 $ 80,638
Total Cost of sales 28,078 27,476 55,395 55,585
Total Gross margin 15,536 12,890 28,788 25,053
Total Segment selling, general and administrative expense 6,615 6,570 12,817 12,864
Operating income        
Total operating income 8,921 6,320 15,971 12,189
Interest income 662 846 1,339 1,719
Income before income taxes 9,583 7,166 17,310 13,908
Depreciation and amortization 857 923 $ 1,725 1,868
Number Of Reportable Segments Not Disclosed     true  
Operating Segments        
Net sales:        
Total Net sales 43,614 40,366 $ 84,183 80,638
Total Cost of sales 28,078 27,476 55,395 55,585
Total Gross margin 15,536 12,890 28,788 25,053
Total Segment selling, general and administrative expense 4,778 4,728 9,144 9,129
Operating income        
Total operating income 10,758 8,162 19,644 15,924
Operating Segments | Security Products        
Net sales:        
Total Net sales 33,348 30,683 63,244 60,913
Total Cost of sales 21,559 21,129 41,431 42,361
Total Gross margin 11,789 9,554 21,813 18,552
Total Segment selling, general and administrative expense 3,800 3,786 7,249 7,263
Operating income        
Total operating income 7,989 5,768 14,564 11,289
Depreciation and amortization 571 622 1,147 1,266
Operating Segments | Marine Components        
Net sales:        
Total Net sales 10,266 9,683 20,939 19,725
Total Cost of sales 6,519 6,347 13,964 13,224
Total Gross margin 3,747 3,336 6,975 6,501
Total Segment selling, general and administrative expense 978 942 1,895 1,866
Operating income        
Total operating income 2,769 2,394 5,080 4,635
Depreciation and amortization 286 301 578 602
Corporate        
Operating income        
Total operating income $ (1,837) $ (1,842) $ (3,673) $ (3,735)