Fair Value Measurements - Marketable Securities and Deferred Compensation Fund Investments (Details) - USD ($) $ in Thousands | Dec. 31, 2023 | Dec. 31, 2022 |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | $ 93,131 | $ 95,200 |
Deferred compensation funding, at fair value | 40,812 | 33,493 |
Prepaid expenses and other assets | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 1,500 | 1,600 |
Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 40,306 | 32,691 |
Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 2,007 | 2,420 |
Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 42,313 | 35,111 |
Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 42,313 | 35,111 |
Municipal bonds — available-for-sale | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | 93,131 | 95,200 |
Municipal bonds — available-for-sale | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | 0 | 0 |
Municipal bonds — available-for-sale | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | 93,131 | 95,200 |
Municipal bonds — available-for-sale | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | 0 | 0 |
Municipal bonds — available-for-sale | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | 93,131 | 95,200 |
Municipal bonds — available-for-sale | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Marketable securities | 93,131 | 95,200 |
Money Market | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Money Market | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 2,007 | 2,420 |
Money Market | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Money Market | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 2,007 | 2,420 |
Money Market | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 2,007 | 2,420 |
Commodities | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 298 | 170 |
Commodities | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Commodities | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Commodities | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 298 | 170 |
Commodities | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 298 | 170 |
Fixed Income | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 4,254 | 3,571 |
Fixed Income | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Fixed Income | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Fixed Income | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 4,254 | 3,571 |
Fixed Income | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 4,254 | 3,571 |
International | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 4,621 | 4,093 |
International | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
International | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
International | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 4,621 | 4,093 |
International | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 4,621 | 4,093 |
Large Cap Blend | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 5,053 | 1,210 |
Large Cap Blend | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Large Cap Blend | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Large Cap Blend | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 5,053 | 1,210 |
Large Cap Blend | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 5,053 | 1,210 |
Large Cap Growth | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 13,886 | 11,064 |
Large Cap Growth | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Large Cap Growth | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Large Cap Growth | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 13,886 | 11,064 |
Large Cap Growth | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 13,886 | 11,064 |
Large Cap Value | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 5,964 | 6,133 |
Large Cap Value | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Large Cap Value | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Large Cap Value | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 5,964 | 6,133 |
Large Cap Value | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 5,964 | 6,133 |
Mid Cap Blend | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 3,192 | 2,667 |
Mid Cap Blend | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Mid Cap Blend | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Mid Cap Blend | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 3,192 | 2,667 |
Mid Cap Blend | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 3,192 | 2,667 |
Real Estate | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 374 | 359 |
Real Estate | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Real Estate | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Real Estate | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 374 | 359 |
Real Estate | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 374 | 359 |
Small Cap Blend | Quoted Prices in Active Markets (Level 1) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 2,664 | 3,424 |
Small Cap Blend | Significant Other Observable Inputs (Level 2) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Small Cap Blend | Significant Unobservable Inputs (Level 3) | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 0 | 0 |
Small Cap Blend | Carrying Amount | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | 2,664 | 3,424 |
Small Cap Blend | Total Fair Value | | |
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] | | |
Deferred compensation funding, at fair value | $ 2,664 | $ 3,424 |