XML 126 R96.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Employee Postretirement Benefits - Schedule of Assumptions Used to Determine Benefit Obligations (Details) | 12 Months Ended
--- | ---
Dec. 31, 2024 | Dec. 31, 2023
Participants Age 40 to 49, Non-Union |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Long-Term Rate of Compensation Increase | 3.50% |
Participants Age 50 and Older, Non-Union |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Long-Term Rate of Compensation Increase | 3.00% |
Pension Benefits (Pension Plan) |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Discount Rate | 5.70% | 5.57%
Pension Benefits (Pension Plan) | Participants up to Age 39 |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Long-Term Rate of Compensation Increase | 4.50% | 4.50%
Pension Benefits (Pension Plan) | Participants Ages 40 to 49 |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Long-Term Rate of Compensation Increase | 4.50% | 4.50%
Pension Benefits (Pension Plan) | Participants Age 50 and Older |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Long-Term Rate of Compensation Increase | 3.75% | 3.75%
Pension Benefits (ESSRP) |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Discount Rate | 5.60% | 5.53%
Long-Term Rate of Compensation Increase | 3.00% | 3.00%
Postretirement Benefits |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Discount Rate | 5.61% | 5.53%
Healthcare Cost Immediate Trend Rate | 6.44% | 6.97%
Healthcare Cost Ultimate Trend Rate | 4.00% | 4.00%
Year the Rate Reaches the Ultimate Trend Rate | 2048 | 2048

X
- Definition Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (k)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average rate increase of compensation, used to determine benefit obligation of defined benefit plan. Plan includes, but is not limited to, pay-related defined benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (k)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

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_DefinedBenefitPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Assumed rate, for next fiscal year, based on annual change in cost of health care cost benefits used to measure expected cost of benefits covered by defined benefit postretirement plan. Factors include, but are not limited to, estimate of health care inflation, change in health care utilization or delivery pattern, technological advances, and change in health status of participant. Excludes factors for change in composition of plan population by age and dependency status. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (l) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedNextFiscalYear
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Ultimate trend rate for health care cost for defined benefit postretirement plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (l) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Year ultimate health care cost trend rate is expected to be reached, in YYYY format. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (l) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanYearHealthCareCostTrendRateReachesUltimateTrendRate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:gYearListItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | srt_TitleOfIndividualAxis=ottr_ParticipantsAge40To49NonUnionEmployeeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_TitleOfIndividualAxis=ottr_ParticipantsAge50AndOlderNonUnionEmployeeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_TitleOfIndividualAxis=ottr_ParticipantsUpToAge39Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_TitleOfIndividualAxis=ottr_ParticipantsAge40To49Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_TitleOfIndividualAxis=ottr_ParticipantsAge50AndOlderMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=ottr_ExecutiveSurvivorAndSupplementalRetirementPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |