XML 19 R2.htm IDEA: XBRL DOCUMENT v3.20.4
CONSOLIDATED STATEMENTS OF INCOME - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2020
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Dec. 31, 2019
Sep. 30, 2019
Jun. 30, 2019
Mar. 31, 2019
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Income Statement [Abstract]                      
Sales $ 100,915 $ 102,964 $ 92,560 $ 99,082 $ 92,463 $ 90,685 $ 90,501 $ 89,096 $ 395,521 $ 362,745 $ 376,089
Cost of sales 69,184 79,802 71,858 75,871 70,903 71,895 70,979 72,436 296,715 286,213 292,490
Gross profit 31,731 23,162 20,702 23,211 21,560 18,790 19,522 16,660 98,806 76,532 83,599
Selling, general, and administrative expenses 16,188 9,510 9,364 9,503 5,309 7,186 8,648 8,147 44,565 29,290 33,451
Operating income 15,543 13,652 11,338 13,708 16,251 11,604 10,874 8,513 54,241 47,242 50,148
Interest expense, net and other (291) (409) (298) (642) (368) (364) (321) (252) (1,640) (1,305) (1,168)
Income before income taxes 15,252 13,243 11,040 13,066 15,883 11,240 10,553 8,261 52,601 45,937 48,980
Income tax expense 3,620 2,862 2,550 3,224 2,936 3,025 2,642 (1,459) 12,256 7,144 11,696
Net income $ 11,632 $ 10,381 $ 8,490 $ 9,842 $ 12,947 $ 8,215 $ 7,911 $ 9,720 40,345 38,793 37,284
Income attributable to participating securities                 261 253 708
Net income attributable to common shareholders and used in Earnings Per Share calculation                 $ 40,084 $ 38,540 $ 36,576
Basic and diluted weighted average common shares (in shares)                 16,937,125 17,012,288 16,866,176
Basic and diluted EPS (in dollars per share) $ 0.69 $ 0.61 $ 0.50 $ 0.57 $ 0.76 $ 0.48 $ 0.46 $ 0.57 $ 2.37 $ 2.27 $ 2.17