XML 17 R4.htm IDEA: XBRL DOCUMENT v3.22.4
CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Income Statement [Abstract]      
Net sales $ 166,562 $ 140,815 $ 114,537
Cost of sales 117,763 98,066 81,689
Gross margin 48,799 42,749 32,848
Selling, general and administrative expense 23,363 22,223 21,031
Operating income 25,436 20,526 11,817
Interest income 1,877 1,197 1,680
Income before income taxes 27,313 21,723 13,497
Provision for income taxes 6,442 5,155 3,174
Net income 20,871 16,568 10,323
Other comprehensive loss, marketable securities adjustment:      
Unrealized net loss arising during year (17)    
Comprehensive income $ 20,854 $ 16,568 $ 10,323
Net income per basic share $ 1.69 $ 1.34 $ 0.83
Net income per diluted share $ 1.69 $ 1.34 $ 0.83
Weighted average shares outstanding - basic 12,340 12,411 12,448
Weighted average shares outstanding - diluted 12,340 12,411 12,448