XML 83 R71.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Revenue Recognition - Schedule of Changes in Contract Balances Due to Adoption of New Accounting Standards (Detail) - USD ($) $ in Thousands | 12 Months Ended |
--- | --- | ---
Dec. 31, 2023 | Dec. 31, 2022
Revenue from Contract with Customer [Abstract] |  |
Contract assets | $ 201,832 | $ 169,088
Contract liabilities | (21,997) | (25,773)
Net contract assets (liabilities) | 179,835 | $ 143,315
Change in contract assets | 32,744 |
Change in contract liabilities | 3,776 |
Change in net contract assets (liabilities) | $ 36,520 |

X
- Definition Change in contract with customer assets net current. + References No definition available. + Details
Name: | icfi_ChangeInContractWithCustomerAssetNetCurrent
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Change in contract with customer assets liability net current. + References No definition available. + Details
Name: | icfi_ChangeInContractWithCustomerAssetsLiabilitiesNetCurrent
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Change in contract with customer liability current. + References No definition available. + Details
Name: | icfi_ChangeInContractWithCustomerLiabilityCurrent
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Contract with customer assets (liabilities), net current. + References No definition available. + Details
Name: | icfi_ContractWithCustomerAssetsLiabilitiesNetCurrent
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8 + Details
Name: | us-gaap_ContractWithCustomerAssetNetCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2 + Details
Name: | us-gaap_ContractWithCustomerLiabilityCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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