Segment Reporting (Details) $ in Thousands  | 
3 Months Ended | 6 Months Ended | |||
|---|---|---|---|---|---|
| 
 Jun. 30, 2019  
USD ($) 
 | 
 Jun. 30, 2018  
USD ($) 
 | 
 Jun. 30, 2019  
USD ($) 
 | 
 Jun. 30, 2018  
USD ($) 
 | 
 Dec. 31, 2018  
USD ($) 
 | 
|
| Segment Reporting Information [Line Items] | |||||
| External revenues | $ 345,756 | $ 330,343 | $ 667,227 | $ 632,951 | |
| Depreciation | 8,013 | 8,166 | 16,329 | 16,546 | |
| Amortization | 2,668 | 2,196 | 5,179 | 4,506 | |
| Share-based compensation expense | 3,197 | 2,417 | 6,244 | 4,678 | |
| Interest expense | 581 | 483 | 1,156 | 854 | |
| Operating Income (Loss) | 30,550 | 32,870 | 55,284 | 57,105 | |
| Total assets | 936,557 | 711,292 | 936,557 | 711,292 | $ 760,215 | 
| Capital expenditures | 12,508 | 11,385 | $ 16,598 | 17,606 | |
| Number of reportable segments | 4 | ||||
| Expedited LTL [Member] | |||||
| Segment Reporting Information [Line Items] | |||||
| External revenues | 203,989 | 191,159 | $ 381,343 | 359,521 | |
| Intersegment revenues | 1,733 | 1,732 | 2,932 | 3,314 | |
| Depreciation | 4,848 | 4,732 | 9,817 | 9,355 | |
| Amortization | 1,060 | 825 | 1,884 | 1,730 | |
| Share-based compensation expense | 2,272 | 1,877 | 4,294 | 3,553 | |
| Interest expense | 1 | ||||
| Operating Income (Loss) | 26,889 | 26,526 | 46,436 | 47,298 | |
| Total assets | 608,716 | 466,329 | 608,716 | 466,329 | |
| Capital expenditures | 11,589 | 10,648 | 13,670 | 16,705 | |
| Intermodal [Member] | |||||
| Segment Reporting Information [Line Items] | |||||
| External revenues | 50,522 | 49,084 | 104,619 | 97,562 | |
| Intersegment revenues | 17 | 78 | 35 | 169 | |
| Depreciation | 463 | 444 | 932 | 953 | |
| Amortization | 1,330 | 1,093 | 2,737 | 2,185 | |
| Share-based compensation expense | 443 | 210 | 974 | 500 | |
| Interest expense | 24 | 2 | 37 | ||
| Operating Income (Loss) | 5,245 | 5,543 | 11,426 | 9,012 | |
| Total assets | 187,815 | 151,962 | 187,815 | 151,962 | |
| Capital expenditures | 142 | 125 | 215 | 207 | |
| Truckload Expedited [Member] | |||||
| Segment Reporting Information [Line Items] | |||||
| External revenues | 45,543 | 46,903 | 90,467 | 90,064 | |
| Intersegment revenues | 570 | 2,044 | 1,313 | 4,976 | |
| Depreciation | 1,478 | 1,541 | 3,043 | 3,244 | |
| Amortization | 21 | 21 | 43 | 76 | |
| Share-based compensation expense | 118 | 166 | 266 | 345 | |
| Interest expense | 2 | 2 | 4 | 3 | |
| Operating Income (Loss) | 689 | 1,717 | 1,530 | 1,674 | |
| Total assets | 74,822 | 69,082 | 74,822 | 69,082 | |
| Capital expenditures | 172 | 36 | 328 | 40 | |
| Pool Distribution [Member] | |||||
| Segment Reporting Information [Line Items] | |||||
| External revenues | 45,702 | 43,197 | 90,798 | 85,804 | |
| Intersegment revenues | 103 | 108 | 192 | 172 | |
| Depreciation | 1,224 | 1,448 | 2,538 | 2,994 | |
| Amortization | 257 | 257 | 515 | 515 | |
| Share-based compensation expense | 153 | 113 | 334 | 229 | |
| Operating Income (Loss) | 1,567 | 1,589 | 2,818 | 2,960 | |
| Total assets | 103,720 | 58,695 | 103,720 | 58,695 | |
| Capital expenditures | 605 | 576 | 2,385 | 654 | |
| Elimination [Member] | |||||
| Segment Reporting Information [Line Items] | |||||
| Intersegment revenues | (2,423) | (3,962) | (4,472) | (8,631) | |
| Depreciation | 1 | (1) | |||
| Share-based compensation expense | 211 | 51 | 376 | 51 | |
| Interest expense | 579 | 457 | 1,150 | 813 | |
| Operating Income (Loss) | (3,840) | (2,505) | (6,926) | (3,839) | |
| Total assets | $ (38,516) | $ (34,776) | $ (38,516) | $ (34,776) | |