XML 57 R43.htm IDEA: XBRL DOCUMENT
v3.23.1

Note 20 - Quarterly Consolidated Financial Data (Unaudited) (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2022
Notes Tables |
Quarterly Financial Information [Table Text Block] |
|  | Quarters Ended |  |  |  |  |
|  | 3/31/22 |  |  | 6/30/22 |  |  | 9/30/22 |  |  | 12/31/22 |  |  | Total |
Revenue |  | $ | 24,081 |  |  | $ | 29,571 |  |  | $ | 30,771 |  |  | $ | 32,405 |  |  | $ | 116,828 |
Gross margin |  |  | 11,013 |  |  |  | 13,548 |  |  |  | 13,898 |  |  |  | 14,981 |  |  |  | 53,440 |
Earnings before income tax expense |  |  | 655 |  |  |  | 2,570 |  |  |  | 3,039 |  |  |  | 3,881 |  |  |  | 10,145 |
Income tax expense |  |  | 78 |  |  |  | 454 |  |  |  | 515 |  |  |  | 637 |  |  |  | 1,684 |
Net earnings |  |  | 577 |  |  |  | 2,116 |  |  |  | 2,524 |  |  |  | 3,244 |  |  |  | 8,461 |
Net earnings per common share – basic |  | $ | 0.05 |  |  | $ | 0.20 |  |  | $ | 0.24 |  |  | $ | 0.30 |  |  | $ | 0.79 |
Weighted average common shares outstanding – basic |  |  | 10,617,271 |  |  |  | 10,653,268 |  |  |  | 10,695,867 |  |  |  | 10,725,662 |  |  |  | 10,673,017 |
Net earnings per common share – diluted |  | $ | 0.05 |  |  | $ | 0.20 |  |  | $ | 0.23 |  |  | $ | 0.30 |  |  | $ | 0.78 |
Weighted average common shares outstanding – diluted |  |  | 10,842,592 |  |  |  | 10,814,799 |  |  |  | 10,864,540 |  |  |  | 10,928,220 |  |  |  | 10,862,538 |
|  | Quarters Ended |  |  |  |  |
|  | 3/31/21(1) |  |  | 6/30/21(2) |  |  | 9/30/21(3) |  |  | 12/31/21(4) |  |  | Total |
Revenue |  | $ | 19,556 |  |  | $ | 21,820 |  |  | $ | 21,144 |  |  | $ | 22,358 |  |  | $ | 84,878 |
Gross margin |  |  | 9,521 |  |  |  | 10,962 |  |  |  | 10,395 |  |  |  | 10,346 |  |  |  | 41,224 |
Earnings before income tax expense (benefit) |  |  | 2,578 |  |  |  | 3,056 |  |  |  | 2,532 |  |  |  | 236 |  |  |  | 8,402 |
Income tax expense (benefit) |  |  | 366 |  |  |  | 447 |  |  |  | 357 |  |  |  | (51 | ) |  |  | 1,119 |
Net earnings |  |  | 2,212 |  |  |  | 2,609 |  |  |  | 2,175 |  |  |  | 287 |  |  |  | 7,283 |
Net earnings per common share – basic |  | $ | 0.21 |  |  | $ | 0.25 |  |  | $ | 0.21 |  |  | $ | 0.03 |  |  | $ | 0.70 |
Weighted average common shares outstanding – basic |  |  | 10,329,449 |  |  |  | 10,442,916 |  |  |  | 10,496,188 |  |  |  | 10,580,431 |  |  |  | 10,462,246 |
Net earnings per common share – diluted |  | $ | 0.21 |  |  | $ | 0.24 |  |  | $ | 0.20 |  |  | $ | 0.03 |  |  | $ | 0.68 |
Weighted average common shares outstanding – diluted |  |  | 10,525,826 |  |  |  | 10,764,936 |  |  |  | 10,792,290 |  |  |  | 10,836,396 |  |  |  | 10,729,862 |

X
- Definition Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 270 -SubTopic 10 -Section 50 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=126900988&loc=d3e1280-108306 + Details
Name: | us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_TableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration