XML 86 R74.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Derivative Instruments and Hedging Activities - Additional Information (Details) | 12 Months Ended
--- | ---
Dec. 31, 2023 USD ($)
Derivative [Line Items] |
Net amount of realized losses from AOCI into earnings | $ 4,800,000
Estimate of time to transfer of realized losses from AOCI into earnings | 12 months
Designated as Hedging Instrument | Cash Flow Hedging | Interest Rate Swaps |
Derivative [Line Items] |
Notional amount | $ 275,000,000
Designated as Hedging Instrument | Cash Flow Hedging | Interest Rate Swaps | June 27, 2028 |
Derivative [Line Items] |
Notional amount | $ 100,000,000
Maturity date | Jun. 27, 2028
Designated as Hedging Instrument | Cash Flow Hedging | Interest Rate Swaps | February 28, 2025 |
Derivative [Line Items] |
Notional amount | $ 100,000,000
Maturity date | Feb. 28, 2025
Designated as Hedging Instrument | Cash Flow Hedging | Interest Rate Swaps | February 28, 2028 |
Derivative [Line Items] |
Notional amount | $ 75,000
Maturity date | Feb. 28, 2028

X
- Definition Estimated period for the anticipated transfer of gain (loss), net, from accumulated other comprehensive income into earnings, 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_DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimateOfTimeToTransfer1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition The estimated value of gains (losses), net anticipated to be transferred in the future from accumulated other comprehensive income into earnings. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480870/815-30-50-6 + Details
Name: | us-gaap_DerivativeInstrumentsGainLossReclassificationFromAccumulatedOCIToIncomeEstimatedNetAmountToBeTransferred
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

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 Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480237/815-40-50-5 + Details
Name: | us-gaap_DerivativeLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Date derivative contract ends, in YYYY-MM-DD format. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480524/946-210-50-6 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section 55 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480493/946-210-55-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 210 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480524/946-210-50-6 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 320 -Name Accounting Standards Codification -Section S99 -Paragraph 5 -Subparagraph (SX 210.12-13(Column A)(Footnote 3)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-5 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 320 -Name Accounting Standards Codification -Section S99 -Paragraph 5C -Subparagraph (SX 210.12-13C(Column D)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-5C Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 320 -Name Accounting Standards Codification -Section S99 -Paragraph 5 -Subparagraph (SX 210.12-13(Column F)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-5 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 320 -Name Accounting Standards Codification -Section S99 -Paragraph 5A -Subparagraph (SX 210.12-13A(Column C)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-5A Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 320 -Name Accounting Standards Codification -Section S99 -Paragraph 5B -Subparagraph (SX 210.12-13B(Column D)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-5B + Details
Name: | us-gaap_DerivativeMaturityDates
Namespace Prefix: | us-gaap_
Data Type: | xbrli:dateItemType
Balance Type: | na
Period Type: | duration

X
- Definition Nominal or face amount used to calculate payment on derivative. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 815 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Publisher FASB -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1B Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 815 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1A -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1A + Details
Name: | us-gaap_DerivativeNotionalAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditDerivativesByContractTypeAxis=icfi_JuneTwentySevenTwoThousandTwentyEightMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditDerivativesByContractTypeAxis=icfi_FebruaryTwentyEightTwoThousandTwentyFiveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditDerivativesByContractTypeAxis=icfi_FebruaryTwentyEightTwoThousandTwentyEightMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |