| Type | including |
|---|---|
| Role | http://fasb.org/us-gaap/role/disclosure/EquityClassOfTreasuryStockTable |
| Type | Element |
|---|---|
| Hypercube | us-gaap:ClassOfTreasuryStockTable |
| Explicit | us-gaap:StatementClassOfStockAxis |
| Member | us-gaap:ClassOfStockDomain |
| Member | us-gaap:CommonClassAMember |
| Member | us-gaap:CommonClassBMember |
| Member | us-gaap:CommonClassCMember |
| Member | us-gaap:ConvertibleCommonStockMember |
| Member | us-gaap:NonvotingCommonStockMember |
| Member | us-gaap:CumulativePreferredStockMember |
| Member | us-gaap:NoncumulativePreferredStockMember |
| Member | us-gaap:RedeemablePreferredStockMember |
| Member | us-gaap:NonredeemablePreferredStockMember |
| Member | us-gaap:ConvertiblePreferredStockMember |
| Member | us-gaap:NonredeemableConvertiblePreferredStockMember |
| Member | us-gaap:RedeemableConvertiblePreferredStockMember |
| Member | us-gaap:ContingentConvertiblePreferredStockMember |
| Member | us-gaap:PreferredClassAMember |
| Member | us-gaap:PreferredClassBMember |
| Member | us-gaap:SeriesAPreferredStockMember |
| Member | us-gaap:SeriesBPreferredStockMember |
| Member | us-gaap:SeriesCPreferredStockMember |
| Member | us-gaap:SeriesDPreferredStockMember |
| Member | us-gaap:SeriesEPreferredStockMember |
| Member | us-gaap:SeriesFPreferredStockMember |
| Member | us-gaap:SeriesGPreferredStockMember |
| Member | us-gaap:SeriesHPreferredStockMember |
| Explicit | us-gaap:ShareRepurchaseProgramAxis |
| Member | us-gaap:ShareRepurchaseProgramDomain |
| Label/QName |
|---|
us-gaap:EquityClassOfTreasuryStockLineItems |
us-gaap:StockRepurchaseProgramAuthorizedAmount1 |
us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased |
us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 |
us-gaap:StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased |
us-gaap:StockRepurchaseProgramPeriodInForce1 |
us-gaap:StockRepurchaseProgramExpirationDate |
us-gaap:TreasuryStockValueAbstract |
us-gaap:TreasuryStockCommonValue |
us-gaap:TreasuryStockPreferredValue |
us-gaap:TreasuryStockValue |
us-gaap:TreasuryStockValueAcquiredParValueMethod |
us-gaap:TreasuryStockValueAcquiredCostMethod |
us-gaap:TreasuryStockReissuedAtLowerThanRepurchasePrice |
us-gaap:TreasuryStockRetiredParValueMethodAmount |
us-gaap:TreasuryStockRetiredCostMethodAmount |
us-gaap:TreasuryStockSharesRetired |
us-gaap:TreasuryStockSharesAcquired |
us-gaap:TreasuryStockAcquiredAverageCostPerShare |
us-gaap:TreasuryStockCarryingBasis |
us-gaap:TreasuryStockAcquiredRepurchaseAuthorization |
us-gaap:TreasuryStockAcquiredPurchasePriceSignificantlyInExcessOfCurrentMarketPrice |
us-gaap:TreasuryStockSharesAbstract |
us-gaap:TreasuryStockCommonShares |
us-gaap:TreasuryStockPreferredShares |
us-gaap:TreasuryStockShares |