2024 Q1 Form 10-K Financial Statement
#000143774924005690 Filed on February 27, 2024
Income Statement
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
Revenue | $35.31M | $38.00M | $148.6M |
YoY Change | -3.18% | -0.37% | -1.97% |
Cost Of Revenue | $13.86M | $13.79M | $56.02M |
YoY Change | -2.97% | -1.39% | -1.81% |
Gross Profit | $21.46M | $24.21M | $92.57M |
YoY Change | -3.32% | 0.21% | -2.07% |
Gross Profit Margin | 60.76% | 63.7% | 62.3% |
Selling, General & Admin | $11.25M | -$30.14M | $46.62M |
YoY Change | -4.52% | 693.47% | 9.19% |
% of Gross Profit | 52.43% | -124.49% | 50.37% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $1.447M | $1.430M | $5.899M |
YoY Change | 3.8% | 4.0% | 11.79% |
% of Gross Profit | 6.74% | 5.91% | 6.37% |
Operating Expenses | $11.25M | -$28.46M | $46.62M |
YoY Change | -4.52% | 1274.22% | 9.19% |
Operating Profit | $8.760M | $52.67M | $40.05M |
YoY Change | -2.84% | 100.81% | -13.96% |
Interest Expense | $605.0K | -$227.0K | $862.0K |
YoY Change | 151.04% | 49.34% | -28.7% |
% of Operating Profit | 6.91% | -0.43% | 2.15% |
Other Income/Expense, Net | -$566.0K | -$14.00K | -$83.00K |
YoY Change | 11220.0% | -99.47% | -97.77% |
Pretax Income | $8.194M | $11.47M | $39.96M |
YoY Change | -9.07% | 21.07% | -6.66% |
Income Tax | $1.835M | $2.610M | $8.991M |
% Of Pretax Income | 22.39% | 22.76% | 22.5% |
Net Earnings | $6.359M | $8.855M | $30.97M |
YoY Change | -8.69% | 33.42% | -2.61% |
Net Earnings / Revenue | 18.01% | 23.3% | 20.84% |
Basic Earnings Per Share | $0.27 | $1.26 | |
Diluted Earnings Per Share | $0.27 | $0.36 | $1.25 |
COMMON SHARES | |||
Basic Shares Outstanding | 23.85M | 24.56M | 24.54M |
Diluted Shares Outstanding | 23.96M | 24.67M |
Balance Sheet
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $1.699M | $6.653M | $6.653M |
YoY Change | -92.84% | -73.42% | -73.42% |
Cash & Equivalents | $1.699M | $6.653M | $6.653M |
Short-Term Investments | |||
Other Short-Term Assets | $777.0K | $940.0K | $5.084M |
YoY Change | -25.43% | -15.32% | 49.79% |
Inventory | |||
Prepaid Expenses | $6.377M | $4.228M | |
Receivables | $11.13M | $12.38M | $12.46M |
Other Receivables | $34.00K | $161.0K | $161.0K |
Total Short-Term Assets | $20.01M | $24.36M | $24.36M |
YoY Change | -55.69% | -44.28% | -44.28% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $31.53M | $28.21M | $30.27M |
YoY Change | 61.81% | 63.53% | 69.99% |
Goodwill | $61.61M | $61.61M | |
YoY Change | 0.0% | 0.0% | |
Intangibles | $1.436M | $1.471M | |
YoY Change | -8.88% | -8.69% | |
Long-Term Investments | |||
YoY Change | |||
Other Assets | $3.126M | $3.274M | $4.727M |
YoY Change | -16.91% | 0.4% | -17.3% |
Total Long-Term Assets | $100.9M | $98.08M | $98.08M |
YoY Change | 13.2% | 13.06% | 13.06% |
TOTAL ASSETS | |||
Total Short-Term Assets | $20.01M | $24.36M | $24.36M |
Total Long-Term Assets | $100.9M | $98.08M | $98.08M |
Total Assets | $120.9M | $122.4M | $122.4M |
YoY Change | -9.97% | -6.15% | -6.15% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $2.397M | $1.301M | $1.301M |
YoY Change | 73.95% | 12.84% | 12.84% |
Accrued Expenses | $5.732M | $4.893M | $9.427M |
YoY Change | 50.25% | 22.85% | 4.1% |
Deferred Revenue | $15.19M | $14.83M | |
YoY Change | -4.42% | -2.4% | |
Short-Term Debt | $7.000M | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $7.504M | $7.236M | $7.236M |
YoY Change | 65.07% | 50.69% | 50.69% |
Total Short-Term Liabilities | $48.85M | $36.20M | $36.20M |
YoY Change | 35.27% | 8.34% | 8.34% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $27.57M | $29.49M | $29.49M |
YoY Change | 66.78% | 66.33% | 66.33% |
Other Long-Term Liabilities | $3.655M | $3.670M | $3.651M |
YoY Change | 73.63% | 79.29% | 81.82% |
Total Long-Term Liabilities | $31.22M | $3.670M | $33.14M |
YoY Change | 1383.33% | 79.29% | 67.91% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $48.85M | $36.20M | $36.20M |
Total Long-Term Liabilities | $31.22M | $3.670M | $33.14M |
Total Liabilities | $83.97M | $73.48M | $73.48M |
YoY Change | 40.79% | 25.77% | 25.77% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | -$27.04M | -$30.53M | |
YoY Change | 27.69% | 21.23% | |
Common Stock | $180.0M | $178.2M | |
YoY Change | 2.2% | 1.57% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $116.0M | $98.76M | |
YoY Change | 26.18% | ||
Treasury Stock Shares | |||
Shareholders Equity | $36.95M | $48.96M | $48.96M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $120.9M | $122.4M | $122.4M |
YoY Change | -9.97% | -6.15% | -6.15% |
Cashflow Statement
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $6.359M | $8.855M | $30.97M |
YoY Change | -8.69% | 33.42% | -2.61% |
Depreciation, Depletion And Amortization | $1.447M | $1.430M | $5.899M |
YoY Change | 3.8% | 4.0% | 11.79% |
Cash From Operating Activities | $12.04M | $11.71M | $38.11M |
YoY Change | 55.26% | 44.47% | 5.1% |
INVESTING ACTIVITIES | |||
Capital Expenditures | $4.138M | $3.770M | $15.78M |
YoY Change | 29.35% | 91.76% | 60.44% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $1.000K | $1.000K | |
YoY Change | |||
Cash From Investing Activities | -$4.138M | -$3.770M | -$15.78M |
YoY Change | 29.35% | 91.76% | 60.43% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $19.10M | ||
YoY Change | -30.84% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -$12.85M | -5.112M | -$40.71M |
YoY Change | 119.5% | -46.45% | -26.76% |
NET CHANGE | |||
Cash From Operating Activities | $12.04M | 11.71M | $38.11M |
Cash From Investing Activities | -$4.138M | -3.770M | -$15.78M |
Cash From Financing Activities | -$12.85M | -5.112M | -$40.71M |
Net Change In Cash | -$4.954M | 2.826M | -$18.37M |
YoY Change | 280.49% | -182.92% | -37.37% |
FREE CASH FLOW | |||
Cash From Operating Activities | $12.04M | $11.71M | $38.11M |
Capital Expenditures | $4.138M | $3.770M | $15.78M |
Free Cash Flow | $7.899M | $7.938M | $22.33M |
YoY Change | 73.45% | 29.33% | -15.5% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2023 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2023 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | |
CY2023 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2023 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2023 | |
CY2023Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
75000 | usd |
CY2022Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
65000 | usd |
CY2023Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2022Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2023Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
2000000 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
2000000 | |
CY2023Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2023Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | usd |
CY2022Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | usd |
CY2023Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2022Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.001 | |
CY2023Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
110000000 | |
CY2022Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
110000000 | |
CY2023Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
31002919 | |
CY2022Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
30922181 | |
CY2023Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
24219887 | |
CY2023 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2022Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
24628173 | |
CY2023Q4 | us-gaap |
Treasury Stock Common Shares
TreasuryStockCommonShares
|
6783032 | |
CY2022Q4 | us-gaap |
Treasury Stock Common Shares
TreasuryStockCommonShares
|
6294008 | |
CY2021 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
153005 | |
CY2021 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
116753 | |
CY2021 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.48 | |
CY2022 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
756817 | |
CY2022 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
23581 | |
CY2022 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
0.84 | |
CY2023 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
489024 | |
CY2023 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
87378 | |
CY2023 | us-gaap |
Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
|
1.48 | |
CY2023 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | usd |
CY2022 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | usd |
CY2021 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | usd |
CY2022 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | usd |
CY2021 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | usd |
CY2020 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
6 | pure |
CY2021Q1 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
CY2021Q1 | us-gaap |
Number Of Reporting Units
NumberOfReportingUnits
|
1 | pure |
CY2022 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
0 | usd |
CY2021 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
0 | usd |
CY2021 | us-gaap |
Interest Costs Capitalized
InterestCostsCapitalized
|
0 | usd |
CY2022 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | usd |
CY2021 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | usd |
CY2022 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
0 | usd |
CY2021 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
0 | usd |
CY2020 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
6 | pure |
CY2023 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
CY2022 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
CY2021 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
CY2023 | ecd |
Rule10b51 Arr Adopted Flag
Rule10b51ArrAdoptedFlag
|
false | |
CY2023 | ecd |
Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
|
false | |
CY2023 | ecd |
Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
|
false | |
CY2023 | ecd |
Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
|
false | |
CY2023 | dei |
Document Type
DocumentType
|
10-K | |
CY2023 | dei |
Document Annual Report
DocumentAnnualReport
|
true | |
CY2023 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2023-12-31 | |
CY2023 | dei |
Document Transition Report
DocumentTransitionReport
|
false | |
CY2023 | dei |
Entity File Number
EntityFileNumber
|
001-35929 | |
CY2023 | dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
DE | |
CY2023 | dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
47-0634000 | |
CY2023 | dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
1245 Q Street | |
CY2023 | dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
Lincoln | |
CY2023 | dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
NE | |
CY2023 | dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
68508 | |
CY2023 | dei |
City Area Code
CityAreaCode
|
402 | |
CY2023 | dei |
Local Phone Number
LocalPhoneNumber
|
475-2525 | |
CY2023 | dei |
Security12b Title
Security12bTitle
|
Common Stock, $.001 par value | |
CY2023 | dei |
Trading Symbol
TradingSymbol
|
NRC | |
CY2023 | dei |
Security Exchange Name
SecurityExchangeName
|
NASDAQ | |
CY2023 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
No | |
CY2023 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2023 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2023 | dei |
Entity Filer Category
EntityFilerCategory
|
Accelerated Filer | |
CY2023 | dei |
Entity Small Business
EntitySmallBusiness
|
false | |
CY2023 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2023 | dei |
Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
|
true | |
CY2023 | dei |
Document Fin Stmt Error Correction Flag
DocumentFinStmtErrorCorrectionFlag
|
false | |
CY2023 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2023Q2 | dei |
Entity Public Float
EntityPublicFloat
|
531062262 | usd |
CY2024Q1 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
23854428 | |
CY2023 | dei |
Auditor Name
AuditorName
|
KPMG LLP | |
CY2023 | dei |
Auditor Location
AuditorLocation
|
Omaha, Nebraska | |
CY2023Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
6653000 | usd |
CY2022Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
25026000 | usd |
CY2023Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
12378000 | usd |
CY2022Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
14461000 | usd |
CY2023Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
4228000 | usd |
CY2022Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
2386000 | usd |
CY2023Q4 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
161000 | usd |
CY2022Q4 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
733000 | usd |
CY2023Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
940000 | usd |
CY2022Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
1110000 | usd |
CY2023Q4 | us-gaap |
Assets Current
AssetsCurrent
|
24360000 | usd |
CY2022Q4 | us-gaap |
Assets Current
AssetsCurrent
|
43716000 | usd |
CY2023Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
28205000 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
17248000 | usd |
CY2023Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1471000 | usd |
CY2022Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1611000 | usd |
CY2023Q4 | us-gaap |
Goodwill
Goodwill
|
61614000 | usd |
CY2022Q4 | us-gaap |
Goodwill
Goodwill
|
61614000 | usd |
CY2023Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
2060000 | usd |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
556000 | usd |
CY2023Q4 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
1453000 | usd |
CY2022Q4 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
2441000 | usd |
CY2023Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
0 | usd |
CY2022Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
14000 | usd |
CY2023Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
3274000 | usd |
CY2022Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
3261000 | usd |
CY2023Q4 | us-gaap |
Assets
Assets
|
122437000 | usd |
CY2022Q4 | us-gaap |
Assets
Assets
|
130461000 | usd |
CY2023Q4 | us-gaap |
Notes Payable Current
NotesPayableCurrent
|
7214000 | usd |
CY2022Q4 | us-gaap |
Notes Payable Current
NotesPayableCurrent
|
4491000 | usd |
CY2023Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1301000 | usd |
CY2022Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1153000 | usd |
CY2023Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
3953000 | usd |
CY2022Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
4551000 | usd |
CY2023Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
4893000 | usd |
CY2022Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
3983000 | usd |
CY2023Q4 | us-gaap |
Dividends Payable Current
DividendsPayableCurrent
|
2906000 | usd |
CY2022Q4 | us-gaap |
Dividends Payable Current
DividendsPayableCurrent
|
2956000 | usd |
CY2023Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
14834000 | usd |
CY2022Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
15198000 | usd |
CY2023Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
222000 | usd |
CY2022Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
0 | usd |
CY2023Q4 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
880000 | usd |
CY2022Q4 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
1085000 | usd |
CY2023Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
36203000 | usd |
CY2022Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
33417000 | usd |
CY2023Q4 | us-gaap |
Long Term Notes Payable
LongTermNotesPayable
|
29470000 | usd |
CY2022Q4 | us-gaap |
Long Term Notes Payable
LongTermNotesPayable
|
17690000 | usd |
CY2023Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
4139000 | usd |
CY2022Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
5274000 | usd |
CY2023Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
3670000 | usd |
CY2022Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2047000 | usd |
CY2023Q4 | us-gaap |
Liabilities
Liabilities
|
73482000 | usd |
CY2022Q4 | us-gaap |
Liabilities
Liabilities
|
58428000 | usd |
CY2023Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
31000 | usd |
CY2022Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
31000 | usd |
CY2023Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
178213000 | usd |
CY2022Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
175453000 | usd |
CY2023Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-30530000 | usd |
CY2022Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
-25184000 | usd |
CY2023Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
|
0 | usd |
CY2022Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
|
0 | usd |
CY2023Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
98759000 | usd |
CY2022Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
78267000 | usd |
CY2023Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
48955000 | usd |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
72033000 | usd |
CY2023Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
122437000 | usd |
CY2022Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
130461000 | usd |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
148580000 | usd |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
151568000 | usd |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
147954000 | usd |
CY2023 | us-gaap |
Direct Operating Costs
DirectOperatingCosts
|
56015000 | usd |
CY2022 | us-gaap |
Direct Operating Costs
DirectOperatingCosts
|
57049000 | usd |
CY2021 | us-gaap |
Direct Operating Costs
DirectOperatingCosts
|
52350000 | usd |
CY2023 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
46621000 | usd |
CY2022 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
42699000 | usd |
CY2021 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
38960000 | usd |
CY2023 | nrc |
Depreciation Amortization And Impairment
DepreciationAmortizationAndImpairment
|
5899000 | usd |
CY2022 | nrc |
Depreciation Amortization And Impairment
DepreciationAmortizationAndImpairment
|
5277000 | usd |
CY2021 | nrc |
Depreciation Amortization And Impairment
DepreciationAmortizationAndImpairment
|
6374000 | usd |
CY2023 | us-gaap |
Costs And Expenses
CostsAndExpenses
|
108535000 | usd |
CY2022 | us-gaap |
Costs And Expenses
CostsAndExpenses
|
105025000 | usd |
CY2021 | us-gaap |
Costs And Expenses
CostsAndExpenses
|
97684000 | usd |
CY2023 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
40045000 | usd |
CY2022 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
46543000 | usd |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
50270000 | usd |
CY2023 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
820000 | usd |
CY2022 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
168000 | usd |
CY2021 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
14000 | usd |
CY2023 | us-gaap |
Interest Expense
InterestExpense
|
862000 | usd |
CY2022 | us-gaap |
Interest Expense
InterestExpense
|
1209000 | usd |
CY2021 | us-gaap |
Interest Expense
InterestExpense
|
1667000 | usd |
CY2023 | nrc |
Reclassification Of Cumulative Foreign Currency Translation Adjustment Into Earnings
ReclassificationOfCumulativeForeignCurrencyTranslationAdjustmentIntoEarnings
|
-0 | usd |
CY2022 | nrc |
Reclassification Of Cumulative Foreign Currency Translation Adjustment Into Earnings
ReclassificationOfCumulativeForeignCurrencyTranslationAdjustmentIntoEarnings
|
2569000 | usd |
CY2021 | nrc |
Reclassification Of Cumulative Foreign Currency Translation Adjustment Into Earnings
ReclassificationOfCumulativeForeignCurrencyTranslationAdjustmentIntoEarnings
|
-0 | usd |
CY2023 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-41000 | usd |
CY2022 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-118000 | usd |
CY2021 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
4000 | usd |
CY2023 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-83000 | usd |
CY2022 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-3728000 | usd |
CY2021 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-1649000 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
39962000 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
42815000 | usd |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
48621000 | usd |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8991000 | usd |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
11015000 | usd |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
11155000 | usd |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
30971000 | usd |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
31800000 | usd |
CY2021 | us-gaap |
Profit Loss
ProfitLoss
|
37466000 | usd |
CY2023 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.26 | |
CY2022 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.28 | |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.47 | |
CY2023 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.25 | |
CY2022 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.27 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.46 | |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
24540000 | |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
24922000 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
25422000 | |
CY2023 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
24673000 | |
CY2022 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
25052000 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
25640000 | |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
30971000 | usd |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
31800000 | usd |
CY2021 | us-gaap |
Profit Loss
ProfitLoss
|
37466000 | usd |
CY2023 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
0 | usd |
CY2022 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
-194000 | usd |
CY2021 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
24000 | usd |
CY2023 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationNetOfTax
|
-0 | usd |
CY2022 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationNetOfTax
|
-2569000 | usd |
CY2021 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationNetOfTax
|
-0 | usd |
CY2023 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
0 | usd |
CY2022 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
2375000 | usd |
CY2021 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
24000 | usd |
CY2023 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
30971000 | usd |
CY2022 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
34175000 | usd |
CY2021 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
37490000 | usd |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
64315000 | usd |
CY2021 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
6422000 | usd |
CY2021 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
1534000 | usd |
CY2021 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
623000 | usd |
CY2021 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
12203000 | usd |
CY2021 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
24000 | usd |
CY2021 | us-gaap |
Profit Loss
ProfitLoss
|
37466000 | usd |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
85337000 | usd |
CY2022 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
28118000 | usd |
CY2022 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
311000 | usd |
CY2022 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1200000 | usd |
CY2022 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
20872000 | usd |
CY2022 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
|
-194000 | usd |
CY2022 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationNetOfTax
|
-2569000 | usd |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
31800000 | usd |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
72033000 | usd |
CY2023 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
20492000 | usd |
CY2023 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
1825000 | usd |
CY2023 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
935000 | usd |
CY2023 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
36317000 | usd |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
30971000 | usd |
CY2023Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
48955000 | usd |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
30971000 | usd |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
31800000 | usd |
CY2021 | us-gaap |
Profit Loss
ProfitLoss
|
37466000 | usd |
CY2023 | nrc |
Depreciation Amortization And Impairment
DepreciationAmortizationAndImpairment
|
5899000 | usd |
CY2022 | nrc |
Depreciation Amortization And Impairment
DepreciationAmortizationAndImpairment
|
5277000 | usd |
CY2021 | nrc |
Depreciation Amortization And Impairment
DepreciationAmortizationAndImpairment
|
6374000 | usd |
CY2023 | nrc |
Reclassification Of Cumulative Foreign Currency Translation Adjustment Into Earnings
ReclassificationOfCumulativeForeignCurrencyTranslationAdjustmentIntoEarnings
|
0 | usd |
CY2022 | nrc |
Reclassification Of Cumulative Foreign Currency Translation Adjustment Into Earnings
ReclassificationOfCumulativeForeignCurrencyTranslationAdjustmentIntoEarnings
|
2569000 | usd |
CY2021 | nrc |
Reclassification Of Cumulative Foreign Currency Translation Adjustment Into Earnings
ReclassificationOfCumulativeForeignCurrencyTranslationAdjustmentIntoEarnings
|
0 | usd |
CY2023 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-1121000 | usd |
CY2022 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-1729000 | usd |
CY2021 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-277000 | usd |
CY2023 | nrc |
Reserve For Uncertain Tax Positions
ReserveForUncertainTaxPositions
|
404000 | usd |
CY2022 | nrc |
Reserve For Uncertain Tax Positions
ReserveForUncertainTaxPositions
|
488000 | usd |
CY2021 | nrc |
Reserve For Uncertain Tax Positions
ReserveForUncertainTaxPositions
|
310000 | usd |
CY2023 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-0 | usd |
CY2022 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-11000 | usd |
CY2021 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-7000 | usd |
CY2023 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
935000 | usd |
CY2022 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1200000 | usd |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
623000 | usd |
CY2023 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-2084000 | usd |
CY2022 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
733000 | usd |
CY2021 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-343000 | usd |
CY2023 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
1767000 | usd |
CY2022 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-1634000 | usd |
CY2021 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
842000 | usd |
CY2023 | nrc |
Increase Decrease In Operating Lease Assets And Lease Liabilities Net
IncreaseDecreaseInOperatingLeaseAssetsAndLeaseLiabilitiesNet
|
127000 | usd |
CY2022 | nrc |
Increase Decrease In Operating Lease Assets And Lease Liabilities Net
IncreaseDecreaseInOperatingLeaseAssetsAndLeaseLiabilitiesNet
|
39000 | usd |
CY2021 | nrc |
Increase Decrease In Operating Lease Assets And Lease Liabilities Net
IncreaseDecreaseInOperatingLeaseAssetsAndLeaseLiabilitiesNet
|
34000 | usd |
CY2023 | us-gaap |
Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
|
-988000 | usd |
CY2022 | us-gaap |
Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
|
-1331000 | usd |
CY2021 | us-gaap |
Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
|
-783000 | usd |
CY2023 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
184000 | usd |
CY2022 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-589000 | usd |
CY2021 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
4000 | usd |
CY2023 | nrc |
Increase Decrease In Accrued Expenses Wages Bonuses And Profit Sharing
IncreaseDecreaseInAccruedExpensesWagesBonusesAndProfitSharing
|
-768000 | usd |
CY2022 | nrc |
Increase Decrease In Accrued Expenses Wages Bonuses And Profit Sharing
IncreaseDecreaseInAccruedExpensesWagesBonusesAndProfitSharing
|
-2947000 | usd |
CY2021 | nrc |
Increase Decrease In Accrued Expenses Wages Bonuses And Profit Sharing
IncreaseDecreaseInAccruedExpensesWagesBonusesAndProfitSharing
|
-285000 | usd |
CY2023 | us-gaap |
Increase Decrease In Income Taxes
IncreaseDecreaseInIncomeTaxes
|
795000 | usd |
CY2022 | us-gaap |
Increase Decrease In Income Taxes
IncreaseDecreaseInIncomeTaxes
|
6000 | usd |
CY2021 | us-gaap |
Increase Decrease In Income Taxes
IncreaseDecreaseInIncomeTaxes
|
484000 | usd |
CY2023 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-364000 | usd |
CY2022 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-2014000 | usd |
CY2021 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
1388000 | usd |
CY2023 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
38113000 | usd |
CY2022 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
36265000 | usd |
CY2021 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
46344000 | usd |
CY2023 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
15779000 | usd |
CY2022 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
9835000 | usd |
CY2021 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
5514000 | usd |
CY2023 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
-0 | usd |
CY2022 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
-0 | usd |
CY2021 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
3000000 | usd |
CY2023 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
1000 | usd |
CY2022 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
0 | usd |
CY2021 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
0 | usd |
CY2023 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-15778000 | usd |
CY2022 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-9835000 | usd |
CY2021 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-8514000 | usd |
CY2023 | us-gaap |
Repayments Of Notes Payable
RepaymentsOfNotesPayable
|
4528000 | usd |
CY2022 | us-gaap |
Repayments Of Notes Payable
RepaymentsOfNotesPayable
|
4305000 | usd |
CY2021 | us-gaap |
Repayments Of Notes Payable
RepaymentsOfNotesPayable
|
4093000 | usd |
CY2023 | us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
8000 | usd |
CY2022 | us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
92000 | usd |
CY2021 | us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
-0 | usd |
CY2023 | us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
19000000 | usd |
CY2022 | us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
0 | usd |
CY2021 | us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
0 | usd |
CY2023 | us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
15000000 | usd |
CY2022 | us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
0 | usd |
CY2021 | us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
0 | usd |
CY2023 | us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
15000000 | usd |
CY2022 | us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
-0 | usd |
CY2021 | us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
-0 | usd |
CY2023 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
290000 | usd |
CY2022 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
469000 | usd |
CY2021 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
493000 | usd |
CY2023 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
584000 | usd |
CY2022 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | usd |
CY2021 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
446000 | usd |
CY2023 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
-0 | usd |
CY2022 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
190000 | usd |
CY2021 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
721000 | usd |
CY2023 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
-0 | usd |
CY2022 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
1950000 | usd |
CY2021 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
-0 | usd |
CY2023 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
19099000 | usd |
CY2022 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
27616000 | usd |
CY2021 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
4142000 | usd |
CY2023 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
36366000 | usd |
CY2022 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
20961000 | usd |
CY2021 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
9159000 | usd |
CY2023 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-40707000 | usd |
CY2022 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-55583000 | usd |
CY2021 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-18162000 | usd |
CY2023 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
-1000 | usd |
CY2022 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
-182000 | usd |
CY2021 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
3000 | usd |
CY2023 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-18373000 | usd |
CY2022 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-29335000 | usd |
CY2021 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
19671000 | usd |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
25026000 | usd |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
54361000 | usd |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
34690000 | usd |
CY2023Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
6653000 | usd |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
25026000 | usd |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
54361000 | usd |
CY2023 | us-gaap |
Interest Paid Net
InterestPaidNet
|
803000 | usd |
CY2022 | us-gaap |
Interest Paid Net
InterestPaidNet
|
1227000 | usd |
CY2021 | us-gaap |
Interest Paid Net
InterestPaidNet
|
1684000 | usd |
CY2023 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
8932000 | usd |
CY2022 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
12233000 | usd |
CY2021 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
10644000 | usd |
CY2023 | us-gaap |
Capital Lease Obligations Incurred
CapitalLeaseObligationsIncurred
|
0 | usd |
CY2022 | us-gaap |
Capital Lease Obligations Incurred
CapitalLeaseObligationsIncurred
|
0 | usd |
CY2021 | us-gaap |
Capital Lease Obligations Incurred
CapitalLeaseObligationsIncurred
|
40000 | usd |
CY2023 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
2066000 | usd |
CY2022 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
1109000 | usd |
CY2021 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
979000 | usd |
CY2023 | nrc |
Stock Tendered Cashless Exercise Of Stock Options
StockTenderedCashlessExerciseOfStockOptions
|
1241000 | usd |
CY2022 | nrc |
Stock Tendered Cashless Exercise Of Stock Options
StockTenderedCashlessExerciseOfStockOptions
|
311000 | usd |
CY2021 | nrc |
Stock Tendered Cashless Exercise Of Stock Options
StockTenderedCashlessExerciseOfStockOptions
|
1088000 | usd |
CY2023 | nrc |
Treasury Stock Value Repurchase Of Shares For Treasury In Accounts Payable And Accrued Expenses
TreasuryStockValueRepurchaseOfSharesForTreasuryInAccountsPayableAndAccruedExpenses
|
152000 | usd |
CY2022 | nrc |
Treasury Stock Value Repurchase Of Shares For Treasury In Accounts Payable And Accrued Expenses
TreasuryStockValueRepurchaseOfSharesForTreasuryInAccountsPayableAndAccruedExpenses
|
0 | usd |
CY2021 | nrc |
Treasury Stock Value Repurchase Of Shares For Treasury In Accounts Payable And Accrued Expenses
TreasuryStockValueRepurchaseOfSharesForTreasuryInAccountsPayableAndAccruedExpenses
|
0 | usd |
CY2023 | nrc |
Deferred Acquisition Consideration
DeferredAcquisitionConsideration
|
0 | usd |
CY2022 | nrc |
Deferred Acquisition Consideration
DeferredAcquisitionConsideration
|
0 | usd |
CY2021 | nrc |
Deferred Acquisition Consideration
DeferredAcquisitionConsideration
|
1950000 | usd |
CY2023 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"><b>Use of Estimates</b></p> <p style="font-family: "Times New Roman"; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</p> <p style="font-family: "Times New Roman"; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"></p> | |
CY2022 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationNetOfTax
|
-2600000 | usd |
CY2023 | nrc |
Incremental Costs Of Obtaining A Contract Deferred During Period
IncrementalCostsOfObtainingAContractDeferredDuringPeriod
|
395000 | usd |
CY2022 | nrc |
Incremental Costs Of Obtaining A Contract Deferred During Period
IncrementalCostsOfObtainingAContractDeferredDuringPeriod
|
454000 | usd |
CY2021 | nrc |
Incremental Costs Of Obtaining A Contract Deferred During Period
IncrementalCostsOfObtainingAContractDeferredDuringPeriod
|
1900000 | usd |
CY2023Q4 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
1500000 | usd |
CY2022Q4 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
2400000 | usd |
CY2023 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
1342000 | usd |
CY2022 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
1771000 | usd |
CY2021 | us-gaap |
Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
|
2651000 | usd |
CY2023 | us-gaap |
Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
|
41000 | usd |
CY2022 | us-gaap |
Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
|
14000 | usd |
CY2021 | us-gaap |
Capitalized Contract Cost Impairment Loss
CapitalizedContractCostImpairmentLoss
|
31000 | usd |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
120000 | usd |
CY2021 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
38000 | usd |
CY2021 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
76000 | usd |
CY2021 | us-gaap |
Allowance For Doubtful Accounts Receivable Recoveries
AllowanceForDoubtfulAccountsReceivableRecoveries
|
12000 | usd |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
94000 | usd |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
94000 | usd |
CY2022 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
19000 | usd |
CY2022 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
50000 | usd |
CY2022 | us-gaap |
Allowance For Doubtful Accounts Receivable Recoveries
AllowanceForDoubtfulAccountsReceivableRecoveries
|
2000 | usd |
CY2022Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
65000 | usd |
CY2022Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
65000 | usd |
CY2023 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
99000 | usd |
CY2023 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
99000 | usd |
CY2023 | us-gaap |
Allowance For Doubtful Accounts Receivable Recoveries
AllowanceForDoubtfulAccountsReceivableRecoveries
|
10000 | usd |
CY2023Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
75000 | usd |
CY2023 | us-gaap |
Capitalized Computer Software Additions
CapitalizedComputerSoftwareAdditions
|
4300000 | usd |
CY2022 | us-gaap |
Capitalized Computer Software Additions
CapitalizedComputerSoftwareAdditions
|
3600000 | usd |
CY2021 | us-gaap |
Capitalized Computer Software Additions
CapitalizedComputerSoftwareAdditions
|
2800000 | usd |
CY2023 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
0 | usd |
CY2023 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | usd |
CY2023 | us-gaap |
Income Tax Credits And Adjustments
IncomeTaxCreditsAndAdjustments
|
2000 | usd |
CY2022 | us-gaap |
Income Tax Credits And Adjustments
IncomeTaxCreditsAndAdjustments
|
36000 | usd |
CY2021 | us-gaap |
Income Tax Credits And Adjustments
IncomeTaxCreditsAndAdjustments
|
10000 | usd |
CY2023 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
935000 | usd |
CY2022 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1200000 | usd |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
623000 | usd |
CY2023 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
617000 | usd |
CY2022 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
436000 | usd |
CY2021 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
919000 | usd |
CY2023 | us-gaap |
Allocated Share Based Compensation Expense Net Of Tax
AllocatedShareBasedCompensationExpenseNetOfTax
|
318000 | usd |
CY2022 | us-gaap |
Allocated Share Based Compensation Expense Net Of Tax
AllocatedShareBasedCompensationExpenseNetOfTax
|
764000 | usd |
CY2021 | us-gaap |
Allocated Share Based Compensation Expense Net Of Tax
AllocatedShareBasedCompensationExpenseNetOfTax
|
-296000 | usd |
CY2023Q4 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
6500000 | usd |
CY2022Q4 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
24900000 | usd |
CY2021 | us-gaap |
Operating Lease Impairment Loss
OperatingLeaseImpairmentLoss
|
324000 | usd |
CY2023Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
36787000 | usd |
CY2022Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
22315000 | usd |
CY2023Q4 | us-gaap |
Long Term Debt Fair Value
LongTermDebtFairValue
|
36403000 | usd |
CY2022Q4 | us-gaap |
Long Term Debt Fair Value
LongTermDebtFairValue
|
21668000 | usd |
CY2021 | us-gaap |
Operating Lease Impairment Loss
OperatingLeaseImpairmentLoss
|
324000 | usd |
CY2023 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
0 | usd |
CY2023Q4 | nrc |
Excess Loss Coverage Per Person
ExcessLossCoveragePerPerson
|
150000 | usd |
CY2023Q4 | nrc |
Claims Loss Coverage Minimum Aggregate Deductible
ClaimsLossCoverageMinimumAggregateDeductible
|
5400000 | usd |
CY2022Q4 | nrc |
Claims Loss Coverage Minimum Aggregate Deductible
ClaimsLossCoverageMinimumAggregateDeductible
|
4700000 | usd |
CY2021Q4 | nrc |
Claims Loss Coverage Minimum Aggregate Deductible
ClaimsLossCoverageMinimumAggregateDeductible
|
3200000 | usd |
CY2023Q4 | us-gaap |
Self Insurance Reserve Current
SelfInsuranceReserveCurrent
|
449000 | usd |
CY2022Q4 | us-gaap |
Self Insurance Reserve Current
SelfInsuranceReserveCurrent
|
424000 | usd |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
30971000 | usd |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
31800000 | usd |
CY2021 | us-gaap |
Profit Loss
ProfitLoss
|
37466000 | usd |
CY2023 | us-gaap |
Participating Securities Distributed And Undistributed Earnings Loss Basic
ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
|
8000 | usd |
CY2022 | us-gaap |
Participating Securities Distributed And Undistributed Earnings Loss Basic
ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
|
16000 | usd |
CY2021 | us-gaap |
Participating Securities Distributed And Undistributed Earnings Loss Basic
ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
|
18000 | usd |
CY2023 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
30963000 | usd |
CY2022 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
31784000 | usd |
CY2021 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
37448000 | usd |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
24540000 | |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
24922000 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
25422000 | |
CY2023 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.26 | |
CY2022 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.28 | |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.47 | |
CY2023 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
30963000 | usd |
CY2022 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
31784000 | usd |
CY2021 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
37448000 | usd |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
24540000 | |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
24922000 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
25422000 | |
CY2023 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
133000 | |
CY2022 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
130000 | |
CY2021 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
218000 | |
CY2023 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
24673000 | |
CY2022 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
25052000 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
25640000 | |
CY2023 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.25 | |
CY2022 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.27 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.46 | |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
148580000 | usd |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
151568000 | usd |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
147954000 | usd |
CY2023Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
12378000 | usd |
CY2022Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
14461000 | usd |
CY2023Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
14834000 | usd |
CY2022Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
15198000 | usd |
CY2023 | nrc |
Contract With Customer Liability Revenue Recognized From Deferred Revenue
ContractWithCustomerLiabilityRevenueRecognizedFromDeferredRevenue
|
15100000 | usd |
CY2022 | nrc |
Contract With Customer Liability Revenue Recognized From Deferred Revenue
ContractWithCustomerLiabilityRevenueRecognizedFromDeferredRevenue
|
17170000 | usd |
CY2023 | nrc |
Contract With Customer Liability Billings
ContractWithCustomerLiabilityBillings
|
14837000 | usd |
CY2022 | nrc |
Contract With Customer Liability Billings
ContractWithCustomerLiabilityBillings
|
15081000 | usd |
CY2023 | us-gaap |
Contract With Customer Asset Reclassified To Receivable
ContractWithCustomerAssetReclassifiedToReceivable
|
102000 | usd |
CY2022 | us-gaap |
Contract With Customer Asset Reclassified To Receivable
ContractWithCustomerAssetReclassifiedToReceivable
|
99000 | usd |
CY2023 | us-gaap |
Contract With Customer Liability Cumulative Catch Up Adjustment To Revenue Change In Estimate Of Transaction Price
ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice
|
-101000 | usd |
CY2022 | us-gaap |
Contract With Customer Liability Cumulative Catch Up Adjustment To Revenue Change In Estimate Of Transaction Price
ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice
|
74000 | usd |
CY2023 | nrc |
Contract With Customer Asset Increase Revenue Recognized Conditional Consideration
ContractWithCustomerAssetIncreaseRevenueRecognizedConditionalConsideration
|
84000 | usd |
CY2022 | nrc |
Contract With Customer Asset Increase Revenue Recognized Conditional Consideration
ContractWithCustomerAssetIncreaseRevenueRecognizedConditionalConsideration
|
102000 | usd |
CY2023Q4 | us-gaap |
Equity Securities Without Readily Determinable Fair Value Amount
EquitySecuritiesWithoutReadilyDeterminableFairValueAmount
|
1300000 | usd |
CY2023Q4 | nrc |
Cost Method Investment Ownership Percentage
CostMethodInvestmentOwnershipPercentage
|
0.16 | pure |
CY2023Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
63874000 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
50756000 | usd |
CY2023Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
35669000 | usd |
CY2022Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
33508000 | usd |
CY2023Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
28205000 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
17248000 | usd |
CY2023 | us-gaap |
Interest Costs Capitalized
InterestCostsCapitalized
|
566000 | usd |
CY2022 | us-gaap |
Interest Costs Capitalized
InterestCostsCapitalized
|
216000 | usd |
CY2023 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | usd |
CY2023Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
62328000 | usd |
CY2023Q4 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
714000 | usd |
CY2023Q4 | us-gaap |
Goodwill
Goodwill
|
61614000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
12723000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
12443000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
280000 | usd |
CY2023Q4 | us-gaap |
Intangible Assets Gross Excluding Goodwill
IntangibleAssetsGrossExcludingGoodwill
|
13914000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
12443000 | usd |
CY2023Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1471000 | usd |
CY2022Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
62328000 | usd |
CY2022Q4 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
714000 | usd |
CY2022Q4 | us-gaap |
Goodwill
Goodwill
|
61614000 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
12723000 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
12303000 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
420000 | usd |
CY2022Q4 | us-gaap |
Intangible Assets Gross Excluding Goodwill
IntangibleAssetsGrossExcludingGoodwill
|
13914000 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
12303000 | usd |
CY2022Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
1611000 | usd |
CY2023 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
0 | usd |
CY2023 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
140000 | usd |
CY2022 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
180000 | usd |
CY2021 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
320000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
140000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
140000 | usd |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
0 | usd |
CY2023 | nrc |
Cumulative Tax Incentives
CumulativeTaxIncentives
|
200000 | usd |
CY2022 | nrc |
Cumulative Tax Incentives
CumulativeTaxIncentives
|
510000 | usd |
CY2021 | nrc |
Cumulative Tax Incentives
CumulativeTaxIncentives
|
473000 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
40031000 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
43156000 | usd |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
48145000 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
-69000 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
-341000 | usd |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
476000 | usd |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
39962000 | usd |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
42815000 | usd |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
48621000 | usd |
CY2023 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
8220000 | usd |
CY2022 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
9988000 | usd |
CY2021 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
9092000 | usd |
CY2023 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-891000 | usd |
CY2022 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-1427000 | usd |
CY2021 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-224000 | usd |
CY2023 | us-gaap |
Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
|
7329000 | usd |
CY2022 | us-gaap |
Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
|
8561000 | usd |
CY2021 | us-gaap |
Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
|
8868000 | usd |
CY2023 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
-32000 | usd |
CY2022 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
-90000 | usd |
CY2021 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
143000 | usd |
CY2023 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
14000 | usd |
CY2022 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
0 | usd |
CY2021 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-17000 | usd |
CY2023 | us-gaap |
Foreign Income Tax Expense Benefit Continuing Operations
ForeignIncomeTaxExpenseBenefitContinuingOperations
|
-18000 | usd |
CY2022 | us-gaap |
Foreign Income Tax Expense Benefit Continuing Operations
ForeignIncomeTaxExpenseBenefitContinuingOperations
|
-90000 | usd |
CY2021 | us-gaap |
Foreign Income Tax Expense Benefit Continuing Operations
ForeignIncomeTaxExpenseBenefitContinuingOperations
|
126000 | usd |
CY2023 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
1924000 | usd |
CY2022 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
2846000 | usd |
CY2021 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
2197000 | usd |
CY2023 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-244000 | usd |
CY2022 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-302000 | usd |
CY2021 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-36000 | usd |
CY2023 | us-gaap |
State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
|
1680000 | usd |
CY2022 | us-gaap |
State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
|
2544000 | usd |
CY2021 | us-gaap |
State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
|
2161000 | usd |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8991000 | usd |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
11015000 | usd |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
11155000 | usd |
CY2022 | nrc |
Deemed Dividend Paid By Foreign Subsidiary
DeemedDividendPaidByForeignSubsidiary
|
1400000 | usd |
CY2022Q4 | nrc |
Withholding Tax On Dividend Distribution Percent
WithholdingTaxOnDividendDistributionPercent
|
0.05 | pure |
CY2023 | us-gaap |
Income Tax Credits And Adjustments
IncomeTaxCreditsAndAdjustments
|
2000 | usd |
CY2022 | us-gaap |
Income Tax Credits And Adjustments
IncomeTaxCreditsAndAdjustments
|
36000 | usd |
CY2021 | us-gaap |
Income Tax Credits And Adjustments
IncomeTaxCreditsAndAdjustments
|
10000 | usd |
CY2022Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1600000 | usd |
CY2023Q4 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Accrued
UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
|
43000 | usd |
CY2022Q4 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Accrued
UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
|
25000 | usd |
CY2023Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
1600000 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
8392000 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
8991000 | usd |
CY2021 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
10210000 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
-4000 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
-24000 | usd |
CY2021 | us-gaap |
Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
|
26000 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
1323000 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
2100000 | usd |
CY2021 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
1531000 | usd |
CY2023 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-334000 | usd |
CY2022 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-120000 | usd |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-660000 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
|
569000 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
|
408000 | usd |
CY2021 | us-gaap |
Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
|
272000 | usd |
CY2023 | nrc |
Income Tax Reconciliation Uncertain Tax Positions
IncomeTaxReconciliationUncertainTaxPositions
|
73000 | usd |
CY2022 | nrc |
Income Tax Reconciliation Uncertain Tax Positions
IncomeTaxReconciliationUncertainTaxPositions
|
22000 | usd |
CY2021 | nrc |
Income Tax Reconciliation Uncertain Tax Positions
IncomeTaxReconciliationUncertainTaxPositions
|
254000 | usd |
CY2023 | nrc |
Effective Income Tax Rate Reconciliation Reclassification Of Cumulative Translation Adjustment Amount
EffectiveIncomeTaxRateReconciliationReclassificationOfCumulativeTranslationAdjustmentAmount
|
0 | usd |
CY2022 | nrc |
Effective Income Tax Rate Reconciliation Reclassification Of Cumulative Translation Adjustment Amount
EffectiveIncomeTaxRateReconciliationReclassificationOfCumulativeTranslationAdjustmentAmount
|
539000 | usd |
CY2021 | nrc |
Effective Income Tax Rate Reconciliation Reclassification Of Cumulative Translation Adjustment Amount
EffectiveIncomeTaxRateReconciliationReclassificationOfCumulativeTranslationAdjustmentAmount
|
0 | usd |
CY2023 | nrc |
Effective Income Tax Rate Reconciliation Repatriation Of Foreign Earnings Loss Amount
EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarningsLossAmount
|
0 | usd |
CY2022 | nrc |
Effective Income Tax Rate Reconciliation Repatriation Of Foreign Earnings Loss Amount
EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarningsLossAmount
|
-100000 | usd |
CY2021 | nrc |
Effective Income Tax Rate Reconciliation Repatriation Of Foreign Earnings Loss Amount
EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarningsLossAmount
|
8000 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
|
92000 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
|
30000 | usd |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
|
0 | usd |
CY2023 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
18000 | usd |
CY2022 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
-15000 | usd |
CY2021 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
58000 | usd |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8991000 | usd |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
11015000 | usd |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
11155000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
18000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
16000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
581000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
691000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
1177000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
1072000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
12000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
96000 | usd |
CY2023Q4 | nrc |
Deferred Tax Assets Uncertain Tax Positions
DeferredTaxAssetsUncertainTaxPositions
|
326000 | usd |
CY2022Q4 | nrc |
Deferred Tax Assets Uncertain Tax Positions
DeferredTaxAssetsUncertainTaxPositions
|
256000 | usd |
CY2023Q4 | nrc |
Deferred Tax Assets Research And Expenditures
DeferredTaxAssetsResearchAndExpenditures
|
2903000 | usd |
CY2022Q4 | nrc |
Deferred Tax Assets Research And Expenditures
DeferredTaxAssetsResearchAndExpenditures
|
856000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
0 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
78000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
5017000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
3065000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
5017000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
3065000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
145000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
135000 | usd |
CY2023Q4 | nrc |
Deferred Tax Liabilities Contract Costs
DeferredTaxLiabilitiesContractCosts
|
354000 | usd |
CY2022Q4 | nrc |
Deferred Tax Liabilities Contract Costs
DeferredTaxLiabilitiesContractCosts
|
601000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
1966000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
1066000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
6636000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
6523000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
|
55000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
|
0 | usd |
CY2023Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
9156000 | usd |
CY2022Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
8325000 | usd |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
4139000 | usd |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
5260000 | usd |
CY2020Q4 | nrc |
Social Security Tax Payable Current
SocialSecurityTaxPayableCurrent
|
1300000 | usd |
CY2021Q4 | nrc |
Social Security Tax Payable Current
SocialSecurityTaxPayableCurrent
|
656000 | usd |
CY2023 | nrc |
Share Repurchase Program Excise Tax
ShareRepurchaseProgramExciseTax
|
152000 | usd |
CY2023 | nrc |
Research And Experimentation Capitalized Costs
ResearchAndExperimentationCapitalizedCosts
|
7800000 | usd |
CY2022 | nrc |
Research And Experimentation Capitalized Costs
ResearchAndExperimentationCapitalizedCosts
|
7100000 | usd |
CY2023Q4 | nrc |
Deferred Tax Assets Research And Expenditures
DeferredTaxAssetsResearchAndExpenditures
|
2900000 | usd |
CY2022Q4 | nrc |
Deferred Tax Assets Research And Expenditures
DeferredTaxAssetsResearchAndExpenditures
|
856000 | usd |
CY2023Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1900000 | usd |
CY2022Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
1300000 | usd |
CY2021Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1075000 | usd |
CY2022 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
76000 | usd |
CY2022 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
558000 | usd |
CY2022Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1557000 | usd |
CY2023 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
92000 | usd |
CY2023 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
478000 | usd |
CY2023Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1943000 | usd |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
|
7250000 | usd |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
|
7725000 | usd |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
|
7986000 | usd |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
|
13826000 | usd |
CY2023 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
584000 | usd |
CY2021 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
446000 | usd |
CY2022 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | usd |
CY2023 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Exercise Of Stock Options
EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
|
498000 | usd |
CY2022 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Exercise Of Stock Options
EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
|
160000 | usd |
CY2021 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Exercise Of Stock Options
EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
|
862000 | usd |
CY2023 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
503000 | usd |
CY2022 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
527000 | usd |
CY2021 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
669000 | usd |
CY2023 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
310000 | usd |
CY2022 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
462000 | usd |
CY2021 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
489000 | usd |
CY2023 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
6000 | usd |
CY2022 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
19000 | usd |
CY2021 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
34000 | usd |
CY2023 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
101000 | usd |
CY2022 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
95000 | usd |
CY2021 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
99000 | usd |
CY2023 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
25000 | usd |
CY2022 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
87000 | usd |
CY2021 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
59000 | usd |
CY2023 | us-gaap |
Sublease Income
SubleaseIncome
|
125000 | usd |
CY2022 | us-gaap |
Sublease Income
SubleaseIncome
|
123000 | usd |
CY2021 | us-gaap |
Sublease Income
SubleaseIncome
|
81000 | usd |
CY2023 | us-gaap |
Lease Cost
LeaseCost
|
820000 | usd |
CY2022 | us-gaap |
Lease Cost
LeaseCost
|
1067000 | usd |
CY2021 | us-gaap |
Lease Cost
LeaseCost
|
1269000 | usd |
CY2023Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
2060000 | usd |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
556000 | usd |
CY2023Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P4Y9M21D | |
CY2022Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P1Y11M12D | |
CY2023Q4 | us-gaap |
Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
|
P2Y2M4D | |
CY2022Q4 | us-gaap |
Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
|
P1Y1M24D | |
CY2023Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0505 | pure |
CY2022Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0397 | pure |
CY2023Q4 | us-gaap |
Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
|
0.0578 | pure |
CY2022Q4 | us-gaap |
Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
|
0.0354 | pure |
CY2023 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
684000 | usd |
CY2022 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
563000 | usd |
CY2021 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
680000 | usd |
CY2023 | us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
4000 | usd |
CY2022 | us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
18000 | usd |
CY2021 | us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
34000 | usd |
CY2023 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
290000 | usd |
CY2022 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
469000 | usd |
CY2021 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
493000 | usd |
CY2023 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
1971000 | usd |
CY2022 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
83000 | usd |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
560000 | usd |
CY2023 | us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
0 | usd |
CY2022 | us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
0 | usd |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
40000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due Next Twelve Months
FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
|
23000 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
678000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due Year Two
FinanceLeaseLiabilityPaymentsDueYearTwo
|
11000 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
589000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due Year Three
FinanceLeaseLiabilityPaymentsDueYearThree
|
10000 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
471000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due Year Four
FinanceLeaseLiabilityPaymentsDueYearFour
|
0 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
231000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due Year Five
FinanceLeaseLiabilityPaymentsDueYearFive
|
0 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
184000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due After Year Five
FinanceLeaseLiabilityPaymentsDueAfterYearFive
|
0 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
383000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Payments Due
FinanceLeaseLiabilityPaymentsDue
|
44000 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
2536000 | usd |
CY2023Q4 | us-gaap |
Finance Lease Liability Undiscounted Excess Amount
FinanceLeaseLiabilityUndiscountedExcessAmount
|
3000 | usd |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
305000 | usd |
CY2023Q4 | us-gaap |
Lessor Operating Lease Payments To Be Received Next Twelve Months
LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths
|
127000 | usd |
CY2023Q4 | us-gaap |
Lessor Operating Lease Payments To Be Received Two Years
LessorOperatingLeasePaymentsToBeReceivedTwoYears
|
65000 | usd |
CY2023Q4 | us-gaap |
Lessor Operating Lease Payments To Be Received
LessorOperatingLeasePaymentsToBeReceived
|
192000 | usd |
CY2023 | us-gaap |
Defined Contribution Plan Employer Matching Contribution Percent
DefinedContributionPlanEmployerMatchingContributionPercent
|
0.25 | pure |
CY2023 | nrc |
Defined Contribution Plan Maximum Percentage Of Annual Contribution Employee Subject To Match
DefinedContributionPlanMaximumPercentageOfAnnualContributionEmployeeSubjectToMatch
|
0.06 | pure |
CY2023 | us-gaap |
Defined Contribution Plan Employers Matching Contribution Annual Vesting Percentage
DefinedContributionPlanEmployersMatchingContributionAnnualVestingPercentage
|
0.20 | pure |
CY2023 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
561000 | usd |
CY2022 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
588000 | usd |
CY2021 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
531000 | usd |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
148580000 | usd |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
151568000 | usd |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
147954000 | usd |
CY2023Q4 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
98077000 | usd |
CY2022Q4 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
86745000 | usd |
CY2021Q4 | us-gaap |
Noncurrent Assets
NoncurrentAssets
|
83833000 | usd |
CY2023Q4 | us-gaap |
Assets
Assets
|
122437000 | usd |
CY2022Q4 | us-gaap |
Assets
Assets
|
130461000 | usd |
CY2021Q4 | us-gaap |
Assets
Assets
|
157540000 | usd |
CY2023 | dei |
Auditor Firm
AuditorFirmId
|
185 |