XML 62 R50.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Summary of Significant Accounting Policies - Additional Information (Details) | 12 Months Ended
--- | ---
Dec. 31, 2023 USD ($) Segment | Dec. 31, 2022 USD ($) | Dec. 31, 2021 USD ($)
Summary Of Significant Accounting Policies [Line Items] |  |  |
Contract payment term description | contracts typically contain billing terms that provide for invoicing monthly or upon completion of milestones, and payment on a net 30-day basis. |  |
Contracts payment, term | 30 days |  |
Number of reportable segments | Segment | 1 |  |
Goodwill, impaired, accumulated impairment loss | $ 0 |  |
Number of operating segments | Segment | 1 |  |
Revenue | $ 1,963,238,000 | $ 1,779,964,000 | $ 1,553,048,000
Foreign currency expense, net of impact of hedges | 1,200,000 | 200,000 | $ 600,000
Foreign financial institutions, actual deposits | 8,500,000 | $ 8,400,000 |
Domestic bank accounts exceeded FDIC insurance limit | $ 300,000 |  |
International Clients | Geographic Concentration Risk | Sales Revenue, Net |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Concentration risk, percentage | 7.00% | 8.00% | 11.00%
International | Geographic Concentration Risk | Long-Lived Assets |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Concentration risk, percentage | 6.00% | 7.00% |
Other Assets |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Capitalized software, net of accumulated amortization | $ 12,800,000 | $ 19,000,000.0 |
Indirect and Selling Expenses |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Impairment losses | 900,000 |  |
Indirect and Selling Expenses | Operating Facility Lease Right-of-Use Assets and Leasehold Improvements |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Impairment losses | $ 6,800,000 | $ 8,400,000 | $ 7,900,000
Minimum |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Property and equipment, estimated useful life | 2 years |  |
Finite-lived intangible asset, useful life | 1 year |  |
Minimum | Other Assets |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Finite-lived intangible asset, useful life | 3 years |  |
Maximum |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Property and equipment, estimated useful life | 7 years |  |
Finite-lived intangible asset, useful life | 9 years |  |
Insured domestic bank accounts | $ 250,000 |  |
Maximum | Other Assets |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Finite-lived intangible asset, useful life | 5 years |  |

X
- Definition Contract payment term description. + References No definition available. + Details
Name: | icfi_ContractPaymentTermDescription
Namespace Prefix: | icfi_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Contracts payment term. + References No definition available. + Details
Name: | icfi_ContractsPaymentTerm
Namespace Prefix: | icfi_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Domestic bank accounts above FDIC insurance limit. + References No definition available. + Details
Name: | icfi_DomesticBankAccountsAboveFDICInsuranceLimit
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Foreign currency expense, net of impact of hedges. + References No definition available. + Details
Name: | icfi_ForeignCurrencyExpenseNetOfImpactOfHedges
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Insured domestic bank accounts. + References No definition available. + Details
Name: | icfi_InsuredDomesticBankAccounts
Namespace Prefix: | icfi_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Summary of significant accounting policies. + References No definition available. + Details
Name: | icfi_SummaryOfSignificantAccountingPoliciesLineItems
Namespace Prefix: | icfi_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (b) -SubTopic 10 -Topic 230 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 360 -SubTopic 10 -Section 45 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4 + Details
Name: | us-gaap_AssetImpairmentCharges
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 985 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1 + Details
Name: | us-gaap_CapitalizedComputerSoftwareNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_FiniteLivedIntangibleAssetUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition The amount of deposits held by branches of foreign institutions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 942 -SubTopic 505 -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480696/942-505-50-3 + Details
Name: | us-gaap_ForeignFinancialInstitutionsActualDeposits
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of accumulated impairment loss for an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 24 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (h) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1 + Details
Name: | us-gaap_GoodwillImpairedAccumulatedImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18 + Details
Name: | us-gaap_NumberOfOperatingSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment. + References No definition available. + Details
Name: | us-gaap_NumberOfReportingUnits
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment. + References No definition available. + Details
Name: | us-gaap_PropertyPlantAndEquipmentUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 924 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 11.L) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | srt_MajorCustomersAxis=icfi_InternationalClientsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=icfi_InternationalMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_PropertyPlantAndEquipmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=icfi_IndirectAndSellingExpensesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ImpairedLongLivedAssetsHeldAndUsedByTypeAxis=icfi_OperatingFacilityLeaseRightOfUseAssetsAndLeaseholdImprovementMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |