v3.20.4

Valuation And Qualifying Accounts (Allowance For Doubtful Accounts) (Details) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Allowance for Credit Loss |  |  |
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] |  |  |
Balance at Beginning of Period | $ 1,235 | $ 907 | $ 663
Charged to Costs and Expenses | 1,972 | 2,575 | 1,791
Charged to Other Accounts | 405 | 0 | 0
Acquisitions | 0 | 0 | 179
Deductions | 2,023 | 2,247 | 1,726
Balance at End of Period (e) | 1,589 | 1,235 | 907
Allowance for Deferred Tax Assets |  |  |
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] |  |  |
Balance at Beginning of Period | 4,941 | 4,588 | 4,640
Charged to Costs and Expenses | (168) | (18) | (210)
Charged to Other Accounts | 0 | 371 | (53)
Acquisitions | 0 | 0 | 211
Deductions | 0 | 0 | 0
Balance at End of Period (e) | $ 4,773 | $ 4,941 | $ 4,588

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_MovementInValuationAllowancesAndReservesRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of valuation and qualifying accounts and reserves. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesBalance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of increase in valuation and qualifying accounts and reserves from charge to accounts other than cost and expense. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of decrease in valuation and qualifying accounts and reserves. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesDeductions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of increase in valuation and qualifying accounts and reserves from business combination. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 4 -Subparagraph (SX 210.12-09) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690 + Details
Name: | us-gaap_ValuationAllowancesAndReservesReservesOfBusinessesAcquired
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |