XML 82 R68.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Revenue Recognition - Disaggregation of Revenue (Detail) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2021 | Dec. 31, 2020 | Dec. 31, 2019
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | $ 1,553,048 | $ 1,506,875 | $ 1,478,525
Time-and-Materials |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 633,574 | 732,365 | 700,980
Fixed-Price |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 645,351 | 536,903 | 566,299
Cost-Based |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 274,123 | 237,607 | 211,246
U.S. Federal Government |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 735,031 | 666,968 | 560,953
U.S. State and Local Government |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 233,757 | 219,507 | 279,833
International Government |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 136,245 | 93,581 | 122,125
Total Government |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 1,105,033 | 980,056 | 962,911
Commercial |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 448,015 | 526,819 | 515,614
Energy, Environmental and Infrastructure |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 654,488 | 609,358 | 663,799
Health, Education and Social Programs |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 678,047 | 677,454 | 567,351
Safety and Security |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | 115,266 | 120,599 | 118,279
Consumer and Financial |  |  |
Disaggregation Of Revenue [Line Items] |  |  |
Revenue from clients | $ 105,247 | $ 99,464 | $ 129,096

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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 -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 40 -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 41 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 42 -URI http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 924 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 11.L) -URI http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_TimeAndMaterialsContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_FixedPriceContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=icfi_CostBasedContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=icfi_USFederalGovernmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=icfi_USStateAndLocalGovernmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=icfi_InternationalGovernmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=icfi_USStateAndInternationalGovernmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=icfi_CommercialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=icfi_EnergyEnvironmentalAndInfrastructureMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=icfi_HealthEducationAndSocialProgramsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=icfi_SafetyAndSecurityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=icfi_ConsumerAndFinancialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |