XML 45 R30.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Note 1 - Summary of Significant Accounting Policies (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Notes Tables |
Disaggregation of Revenue [Table Text Block] |
|  | Year ended December 31, |
(in thousands) |  | 2023 |  |  | 2022 |  |  | 2021 |
Revenues: |  |  |  |  |  |  |  |  |  |  |  |
Expedited |  | $ | 423,820 |  |  | $ | 452,713 |  |  | $ | 337,063 |
Dedicated |  |  | 320,287 |  |  |  | 362,997 |  |  |  | 324,541 |
Managed Freight |  |  | 258,903 |  |  |  | 320,985 |  |  |  | 321,236 |
Warehousing |  |  | 100,563 |  |  |  | 80,163 |  |  |  | 63,163 |
Total revenues |  | $ | 1,103,573 |  |  | $ | 1,216,858 |  |  | $ | 1,046,003 |
Accounts Receivable, Allowance for Credit Loss [Table Text Block] |
Years ended December 31: |  | Beginning balance January 1, |  |  | (Reversal of) additional provisions to allowance |  |  | Write-offs and other adjustments |  |  | Ending balance December 31, |
2023 |  | $ | 2,934 |  |  | $ | (258 | ) |  | $ | (227 | ) |  | $ | 2,449 |
2022 |  | $ | 4,112 |  |  | $ | 367 |  |  | $ | (1,545 | ) |  | $ | 2,934 |
2021 |  | $ | 2,992 |  |  | $ | 1,338 |  |  | $ | (218 | ) |  | $ | 4,112 |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] |
(in thousands except per share data) |  |  |  |  |  |  |  |  |  |  |  |
|  | 2023 |  |  | 2022 |  |  | 2021 |
Numerators: |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 54,629 |  |  | $ | 107,932 |  |  | $ | 58,191 |
Income from discontinued operations, net of tax |  |  | 600 |  |  |  | 750 |  |  |  | 2,540 |
Net income |  | $ | 55,229 |  |  | $ | 108,682 |  |  | $ | 60,731 |
Denominator: |  |  |  |  |  |  |  |  |  |  |  |
Denominator for basic income per share – weighted-average shares |  |  | 13,048 |  |  |  | 15,006 |  |  |  | 16,803 |
Effect of dilutive securities: |  |  |  |  |  |  |  |  |  |  |  |
Equivalent shares issuable upon conversion of unvested restricted shares |  |  | 245 |  |  |  | 358 |  |  |  | 217 |
Equivalent shares issuable upon conversion of unvested employee stock options |  |  | 541 |  |  |  | 160 |  |  |  | - |
Denominator for diluted income per share adjusted weighted-average shares and assumed conversions |  |  | 13,834 |  |  |  | 15,524 |  |  |  | 17,020 |
Basic income per share: |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 4.19 |  |  | $ | 7.19 |  |  | $ | 3.46 |
Income from discontinued operations |  | $ | 0.05 |  |  | $ | 0.05 |  |  | $ | 0.15 |
Net income per basic share(1) |  | $ | 4.23 |  |  | $ | 7.24 |  |  | $ | 3.61 |
Diluted income per share: |  |  |  |  |  |  |  |  |  |  |  |
Income from continuing operations |  | $ | 3.95 |  |  | $ | 6.95 |  |  | $ | 3.42 |
Income from discontinued operations |  | $ | 0.04 |  |  | $ | 0.05 |  |  | $ | 0.15 |
Net income per diluted share |  | $ | 3.99 |  |  | $ | 7.00 |  |  | $ | 3.57 |

X
- Definition Tabular disclosure of allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
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