{
 "instance": {
  "tpic-20220630.htm": {
   "axisCustom": 0,
   "axisStandard": 19,
   "contextCount": 393,
   "dts": {
    "calculationLink": {
     "local": [
      "tpic-20220630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tpic-20220630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "tpic-20220630.htm"
     ]
    },
    "labelLink": {
     "local": [
      "tpic-20220630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tpic-20220630_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "tpic-20220630.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 506,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 15,
    "http://tpicomposites.com/20220630": 1,
    "http://xbrl.sec.gov/dei/2022": 4,
    "total": 20
   },
   "keyCustom": 37,
   "keyStandard": 235,
   "memberCustom": 37,
   "memberStandard": 32,
   "nsprefix": "tpic",
   "nsuri": "http://tpicomposites.com/20220630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "100000 - Document - Document and Entity Information",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100100 - Disclosure - Basis of Presentation",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentation",
     "shortName": "Basis of Presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100110 - Disclosure - Revenue From Contracts with Customers",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomers",
     "shortName": "Revenue From Contracts with Customers",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tpic:SignificantRisksAndUncertaintiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100120 - Disclosure - Significant Risks and Uncertainties",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertainties",
     "shortName": "Significant Risks and Uncertainties",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tpic:SignificantRisksAndUncertaintiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100130 - Disclosure - Accrued Warranty",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarranty",
     "shortName": "Accrued Warranty",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100140 - Disclosure - Long-Term Debt, Net of Current Maturities",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturities",
     "shortName": "Long-Term Debt, Net of Current Maturities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100150 - Disclosure - Share-Based Compensation Plans",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlans",
     "shortName": "Share-Based Compensation Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100160 - Disclosure - Leases",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100170 - Disclosure - Financial Instruments",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstruments",
     "shortName": "Financial Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100180 - Disclosure - Restructuring Charges, Net",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNet1",
     "shortName": "Restructuring Charges, Net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100190 - Disclosure - Income Taxes",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureIncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100010 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100200 - Disclosure - Net Income (Loss) Per Common Share",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShare1",
     "shortName": "Net Income (Loss) Per Common Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100210 - Disclosure - Stockholders' Equity",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100220 - Disclosure - Commitments and Contingencies",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100230 - Disclosure - Concentration of Customers",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomers",
     "shortName": "Concentration of Customers",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100240 - Disclosure - Segment Reporting",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReporting",
     "shortName": "Segment Reporting",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100260 - Disclosure - Basis of Presentation and Recently Issued Accounting Pronouncements (Policies)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationAndRecentlyIssuedAccountingPronouncementsPolicies",
     "shortName": "Basis of Presentation and Recently Issued Accounting Pronouncements (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100270 - Disclosure - Revenue From Contracts with Customers (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables",
     "shortName": "Revenue From Contracts with Customers (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100280 - Disclosure - Accrued Warranty (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyTables",
     "shortName": "Accrued Warranty (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100290 - Disclosure - Long-Term Debt, Net of Current Maturities (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesTables",
     "shortName": "Long-Term Debt, Net of Current Maturities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100300 - Disclosure - Share-Based Compensation Plans (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansTables",
     "shortName": "Share-Based Compensation Plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:TemporaryEquityParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_UnitedStatesOfAmericaDollarsShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100030 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:TemporaryEquityParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_UnitedStatesOfAmericaDollarsShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100310 - Disclosure - Leases (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100320 - Disclosure - Financial Instruments (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsTables",
     "shortName": "Financial Instruments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100330 - Disclosure - Restructuring Charges, Net (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetTables",
     "shortName": "Restructuring Charges, Net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100340 - Disclosure - Net Income (Loss) Per Common Share (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareTables",
     "shortName": "Net Income (Loss) Per Common Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100350 - Disclosure - Stockholders' Equity (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityTables",
     "shortName": "Stockholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100360 - Disclosure - Concentration of Customers (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersTables",
     "shortName": "Concentration of Customers (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100370 - Disclosure - Segment Reporting (Tables)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingTables",
     "shortName": "Segment Reporting (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "tpic:NonMonetaryAssetsAndLiabilitiesAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100380 - Disclosure - Significant Accounting Policies (Additional Information) (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Significant Accounting Policies (Additional Information) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "tpic:NonMonetaryAssetsAndLiabilitiesAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100400 - Disclosure - Revenue From Contracts with Customers - Summary of Disaggregation of Net Sales Revenue by Product for Each of Reportable Segments (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
     "shortName": "Revenue From Contracts with Customers - Summary of Disaggregation of Net Sales Revenue by Product for Each of Reportable Segments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_50e16b6e-48a1-4e06-8f92-6f2ab9b43af6",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100410 - Disclosure - Revenue From Contracts with Customers - Summary of Contract Assets (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail",
     "shortName": "Revenue From Contracts with Customers - Summary of Contract Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100040 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:BusinessDevelopment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "tpic:ContractWithCustomerLiabilitiesGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100420 - Disclosure - Revenue From Contracts with Customers - Summary of Contract Liabilities (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail",
     "shortName": "Revenue From Contracts with Customers - Summary of Contract Liabilities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "tpic:ContractWithCustomerLiabilitiesGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncreaseDecreaseInContractWithCustomerAsset",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100430 - Disclosure - Revenue From Contracts with Customers - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail",
     "shortName": "Revenue From Contracts with Customers - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-5",
      "lang": null,
      "name": "tpic:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriodIncreaseDecreaseAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100440 - Disclosure - Revenue From Contracts with Customers - Schedule of Estimate to Recognize Remaining Performance Obligations as Revenue (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail",
     "shortName": "Revenue From Contracts with Customers - Schedule of Estimate to Recognize Remaining Performance Obligations as Revenue (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_81b2f490-07d8-4008-888c-65d92296f2d8",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100450 - Disclosure - Revenue From Contracts with Customers - Schedule of Estimate to Recognize Remaining Performance Obligations as Revenue (Detail1)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail1",
     "shortName": "Revenue From Contracts with Customers - Schedule of Estimate to Recognize Remaining Performance Obligations as Revenue (Detail1)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100460 - Disclosure - Significant Risks and Uncertainties - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail",
     "shortName": "Significant Risks and Uncertainties - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "tpic:SignificantRisksAndUncertaintiesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_c46bf830-eda0-457a-b8ce-f60e72fe700d",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "div",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_6ce27951-294a-40b9-92ba-e6cbc692cc17",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100470 - Disclosure - Accrued Warranty - Schedule of Warranty Accrual Activity (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyScheduleOfWarrantyAccrualActivityDetail",
     "shortName": "Accrued Warranty - Schedule of Warranty Accrual Activity (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "div",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_6ce27951-294a-40b9-92ba-e6cbc692cc17",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100480 - Disclosure - Long-Term Debt, Net of Current Maturities - Schedule of Long-Term Debt, Net of Current Maturities (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
     "shortName": "Long-Term Debt, Net of Current Maturities - Schedule of Long-Term Debt, Net of Current Maturities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "div",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100500 - Disclosure - Share-Based Compensation Plans - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail",
     "shortName": "Share-Based Compensation Plans - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100510 - Disclosure - Share-Based Compensation Plans - Schedule of Share-based Compensation Expense Recognized in Condensed Consolidated Statements of Operations (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail",
     "shortName": "Share-Based Compensation Plans - Schedule of Share-based Compensation Expense Recognized in Condensed Consolidated Statements of Operations (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_571b1438-f1f6-4c7c-9538-36f8be18c3d3",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100520 - Disclosure - Share-Based Compensation Plans - Schedule of Share-based Compensation Arrangements by Share-based Payment Award (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails",
     "shortName": "Share-Based Compensation Plans - Schedule of Share-based Compensation Arrangements by Share-based Payment Award (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_6db5dbf8-7fd6-4e12-8db3-8aeeeb6c8f7d",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100050 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Unaudited)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseOptionToExtend",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100530 - Disclosure - Leases - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
     "shortName": "Leases - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseOptionToExtend",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100540 - Disclosure - Leases - Components of Lease Cost (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail",
     "shortName": "Leases - Components of Lease Cost (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100550 - Disclosure - Leases - Schedule of Lease Assets and Liabilities (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail",
     "shortName": "Leases - Schedule of Lease Assets and Liabilities (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "tpic:ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "tpic:ScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableOperatingAndFinanceLeasesTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100560 - Disclosure - Leases - Schedule of Future Minimum Lease Payments under Noncancelable Leases (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail",
     "shortName": "Leases - Schedule of Future Minimum Lease Payments under Noncancelable Leases (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "tpic:ScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableOperatingAndFinanceLeasesTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100570 - Disclosure - Leases - Supplemental Cash Flow Information Related to Leases (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetail",
     "shortName": "Leases - Supplemental Cash Flow Information Related to Leases (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "tpic:ScheduleOfOtherInformationRelatedToLeasesTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100580 - Disclosure - Leases - Other Information Related to Leases (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail",
     "shortName": "Leases - Other Information Related to Leases (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "tpic:ScheduleOfOtherInformationRelatedToLeasesTableTextBlock",
       "div",
       "tpic:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_7414180f-2bc5-47ac-8ed9-47d2dfb0dfae",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_2f6e67d0-b163-4b1f-8f6e-2b88c16f7154",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeGainOnDerivative",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100590 - Disclosure - Financial Instruments - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
     "shortName": "Financial Instruments - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_2f6e67d0-b163-4b1f-8f6e-2b88c16f7154",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeGainOnDerivative",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "div",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_fd890def-b361-4bff-8a5b-fb91e8f7c5e7",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeLiabilityFairValueGrossAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100600 - Disclosure - Financial Instruments - Fair Values and Location of Financial Instruments (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail",
     "shortName": "Financial Instruments - Fair Values and Location of Financial Instruments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "div",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_fd890def-b361-4bff-8a5b-fb91e8f7c5e7",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeLiabilityFairValueGrossAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100610 - Disclosure - Financial Instruments - Schedule of Pretax Amounts Reclassified From Accumulated Other Comprehensive Loss (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail",
     "shortName": "Financial Instruments - Schedule of Pretax Amounts Reclassified From Accumulated Other Comprehensive Loss (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock",
       "div",
       "us-gaap:FinancialInstrumentsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_8dfa1481-f06e-4961-8e39-c26615968bb7",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:SeveranceCosts1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100620 - Disclosure - Restructuring Charges, Net - Schedule of Restructuring Charges, Net (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
     "shortName": "Restructuring Charges, Net - Schedule of Restructuring Charges, Net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:SeveranceCosts1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "tpic:OtherComprehensiveIncomeLossUnrealizedGainLossOnHedgingDerivativesArisingDuringPeriodTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100060 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Unaudited) (Parenthetical)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnauditedParenthetical",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Unaudited) (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "tpic:OtherComprehensiveIncomeLossUnrealizedGainLossOnHedgingDerivativesArisingDuringPeriodTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RestructuringCharges",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100630 - Disclosure - Restructuring Charges, Net - Additional Information (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
     "shortName": "Restructuring Charges, Net - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_6ce27951-294a-40b9-92ba-e6cbc692cc17",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RestructuringReserve",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100640 - Disclosure - Restructuring Charges, Net - Summary of Restructuring Liability (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails",
     "shortName": "Restructuring Charges, Net - Summary of Restructuring Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "div",
       "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:PaymentsForRestructuring",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100650 - Disclosure - Income Taxes - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail",
     "shortName": "Income Taxes - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unitRef": "U_shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100660 - Disclosure - Net Income (Loss) Per Common Share - Additional Information - (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails",
     "shortName": "Net Income (Loss) Per Common Share - Additional Information - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_1717784a-748d-4481-bae7-75cba5fac5a5",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100670 - Disclosure - Net Income (Loss) Per Common Share - Computation of Basic and Diluted Net Income (Loss) per Common Share (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
     "shortName": "Net Income (Loss) Per Common Share - Computation of Basic and Diluted Net Income (Loss) per Common Share (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_shares",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_6ce27951-294a-40b9-92ba-e6cbc692cc17",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100680 - Disclosure - Stockholders' Equity - Schedule of Changes in Accumulated Other Comprehensive Loss (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail",
     "shortName": "Stockholders' Equity - Schedule of Changes in Accumulated Other Comprehensive Loss (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_5b6ddc9e-47ad-4fec-b2b7-03758c42da02",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_9ba4f0a3-8328-4cb0-8445-0d7854270e68",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "tpic:ComplaintAssertsVoidance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100690 - Disclosure - Commitments and Contingencies - Additional Information (Details)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
     "shortName": "Commitments and Contingencies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_9ba4f0a3-8328-4cb0-8445-0d7854270e68",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "tpic:ComplaintAssertsVoidance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ConcentrationRiskPercentage1",
       "us-gaap:ConcentrationRiskPercentage1",
       "span",
       "p",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_daeed0f2-8dfe-4d5e-89b8-f69abb5ca0ae",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100700 - Disclosure - Concentration of Customers - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
     "shortName": "Concentration of Customers - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ConcentrationRiskPercentage1",
       "us-gaap:ConcentrationRiskPercentage1",
       "span",
       "p",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_daeed0f2-8dfe-4d5e-89b8-f69abb5ca0ae",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100710 - Disclosure - Concentration of Customers - Schedule of Revenues from Certain Customers (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
     "shortName": "Concentration of Customers - Schedule of Revenues from Certain Customers (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_e33b763e-4fb3-4a8f-8f19-a4086a73a7cd",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_3f16d2e3-815a-49a5-ab04-cdaa842b0a4a",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100720 - Disclosure - Concentration of Customers - Schedule of Trade Accounts Receivable from Certain Customers (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
     "shortName": "Concentration of Customers - Schedule of Trade Accounts Receivable from Certain Customers (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_3f16d2e3-815a-49a5-ab04-cdaa842b0a4a",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_pure",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_29a4587d-1be5-4065-850d-21b3b7562956",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100070 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN MEZZANINE EQUITY AND STOCKHOLDERS' EQUITY (Unaudited)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN MEZZANINE EQUITY AND STOCKHOLDERS' EQUITY (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_1929d217-34d0-435d-aeaa-e21e8b04cc0a",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_Segment",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100730 - Disclosure - Segment Reporting - Additional Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingAdditionalInformationDetail",
     "shortName": "Segment Reporting - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_Segment",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100740 - Disclosure - Segment Reporting - Schedule of Segment Information (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
     "shortName": "Segment Reporting - Schedule of Segment Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_cb342f38-e1ed-46f4-a93f-f320a308a09f",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_ddb0ce3b-e8ad-457d-a073-4ede4bd116d4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GeneralAndAdministrativeExpense",
      "reportCount": 1,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100750 - Disclosure - Segment Reporting - Schedule of Segment Information (Parenthetical) (Detail)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail",
     "shortName": "Segment Reporting - Schedule of Segment Information (Parenthetical) (Detail)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_8c98dd47-c6d5-4395-8ab6-87513b8ab65a",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:GeneralAndAdministrativeExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "100080 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U_USD",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "100090 - Disclosure - Significant Accounting Policies",
     "role": "http://tpicomposites.com/20220630/taxonomy/role/DisclosureSignificantAccountingPolicies",
     "shortName": "Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "tpic-20220630.htm",
      "contextRef": "C_bd39f964-b7af-426e-aecf-8b37e40d5628",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 69,
   "tag": {
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHINA",
        "terseLabel": "China [Member]"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "country_IN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INDIA",
        "terseLabel": "India [Member]",
        "verboseLabel": "India [Member]"
       }
      }
     },
     "localname": "IN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "country_MX": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "MEXICO",
        "terseLabel": "Mexico [Member]"
       }
      }
     },
     "localname": "MX",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "TURKEY",
        "terseLabel": "Turkey [Member]"
       }
      }
     },
     "localname": "TR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "U.S. [Member]"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r653"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r654"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "verboseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "verboseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r662"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r651"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r650"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r652"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_AsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia [Member]"
       }
      }
     },
     "localname": "AsiaMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r191",
      "r351",
      "r357",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "MajorCustomersAxis"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r264",
      "r265",
      "r266",
      "r267",
      "r291",
      "r315",
      "r364",
      "r365",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r580",
      "r616",
      "r620",
      "r648",
      "r649"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r264",
      "r265",
      "r266",
      "r267",
      "r291",
      "r315",
      "r364",
      "r365",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r580",
      "r616",
      "r620",
      "r648",
      "r649"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r191",
      "r351",
      "r357",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "NameOfMajorCustomerDomain"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r187",
      "r265",
      "r266",
      "r351",
      "r355",
      "r581",
      "r615",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r187",
      "r265",
      "r266",
      "r351",
      "r355",
      "r581",
      "r615",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r243",
      "r264",
      "r265",
      "r266",
      "r267",
      "r291",
      "r315",
      "r363",
      "r364",
      "r365",
      "r392",
      "r393",
      "r394",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r580",
      "r616",
      "r620",
      "r648",
      "r649"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r243",
      "r264",
      "r265",
      "r266",
      "r267",
      "r291",
      "r315",
      "r363",
      "r364",
      "r365",
      "r392",
      "r393",
      "r394",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r580",
      "r616",
      "r620",
      "r648",
      "r649"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r188",
      "r189",
      "r351",
      "r356",
      "r618",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r188",
      "r189",
      "r351",
      "r356",
      "r618",
      "r636",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_AccretionOfSeriesAPreferredStock": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accretion of Series A Preferred Stock",
        "label": "Accretion of Series A Preferred Stock",
        "terseLabel": "Accretion of Series A Preferred Stock"
       }
      }
     },
     "localname": "AccretionOfSeriesAPreferredStock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_AccretionOfSeriesAPreferredStockShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accretion of Series A Preferred Stock, Shares",
        "label": "Accretion of Series A Preferred Stock, Shares",
        "terseLabel": "Accretion of Series A Preferred Stock, Shares"
       }
      }
     },
     "localname": "AccretionOfSeriesAPreferredStockShares",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "tpic_AccumulatedForeignExchangeForwardContractAdjustmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated foreign exchange forward contract adjustment.",
        "label": "Accumulated Foreign Exchange Forward Contract Adjustment [Member]",
        "terseLabel": "Foreign Exchange Forward Contract [Member]"
       }
      }
     },
     "localname": "AccumulatedForeignExchangeForwardContractAdjustmentMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_AccumulatedInterestRateSwapsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated interest rate swaps.",
        "label": "Accumulated Interest Rate Swaps [Member]",
        "terseLabel": "Interest Rate Swap [Member]"
       }
      }
     },
     "localname": "AccumulatedInterestRateSwapsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_AsiaSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asia segment.",
        "label": "Asia Segment [Member]",
        "terseLabel": "Asia Segment [Member]"
       }
      }
     },
     "localname": "AsiaSegmentMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_AssetsUnderFinanceLeaseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets under finance lease.",
        "label": "Assets Under Finance Lease [Member]",
        "terseLabel": "Assets Under Finance Lease [Member]"
       }
      }
     },
     "localname": "AssetsUnderFinanceLeaseMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_BenefitFromReductionOfTheProbabilityOfPsus": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Benefit from reduction of the probability of PSUs",
        "label": "Benefit from Reduction of the Probability of PSUs",
        "terseLabel": "Benefit from Reduction of the Probability of PSUs"
       }
      }
     },
     "localname": "BenefitFromReductionOfTheProbabilityOfPsus",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash paid for amounts included in measurement of lease liabilities.",
        "label": "Cash Paid For Amounts Included In Measurement Of Lease Liabilities [Abstract]",
        "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities:"
       }
      }
     },
     "localname": "CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_CertainStockPriceHurdlesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Certain stock price hurdles.",
        "label": "Certain Stock Price Hurdles [Member]",
        "terseLabel": "Certain Stock Price Hurdles [Member]"
       }
      }
     },
     "localname": "CertainStockPriceHurdlesMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_CertainStrategicTargetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Certain strategic targets [Member]",
        "label": "Certain strategic targets [Member]",
        "terseLabel": "Certain strategic targets"
       }
      }
     },
     "localname": "CertainStrategicTargetsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_ComplaintAssertsVoidance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Complaint Asserts Voidance.",
        "label": "Complaint Asserts Voidance"
       }
      }
     },
     "localname": "ComplaintAssertsVoidance",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ComprehensiveIncomeLossAttributableToCommonStockholders": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Comprehensive income loss attributable to common stockholders.",
        "label": "Comprehensive Income Loss Attributable to Common Stockholders",
        "totalLabel": "Comprehensive loss attributable to common stockholders"
       }
      }
     },
     "localname": "ComprehensiveIncomeLossAttributableToCommonStockholders",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ComprehensiveIncomeLossPreferredStockDividendsAndAccretion": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited": {
       "order": 1.0,
       "parentTag": "tpic_ComprehensiveIncomeLossAttributableToCommonStockholders",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Comprehensive income loss preferred stock dividends and accretion.",
        "label": "Comprehensive Income Loss Preferred Stock Dividends and Accretion",
        "terseLabel": "Preferred stock dividends and accretion"
       }
      }
     },
     "localname": "ComprehensiveIncomeLossPreferredStockDividendsAndAccretion",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ContractWithCustomerAssetReclassificationFromContractLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer asset reclassification from contract liabilities.",
        "label": "Contract With Customer Asset Reclassification From Contract Liabilities",
        "negatedLabel": "Less: reclassification from contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetReclassificationFromContractLiabilities",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ContractWithCustomerLiabilitiesGrossCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liabilities gross current.",
        "label": "Contract With Customer Liabilities Gross Current",
        "terseLabel": "Gross contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilitiesGrossCurrent",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ContractWithCustomerLiabilitiesReclassificationToContractAssets": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer liabilities reclassification to contract assets.",
        "label": "Contract With Customer Liabilities Reclassification To Contract Assets",
        "negatedLabel": "Less: reclassification to contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilitiesReclassificationToContractAssets",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriodIncreaseDecreaseAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer performance obligation satisfied in previous period increase (decrease) amount.",
        "label": "Contract With Customer Performance Obligation Satisfied In Previous Period Increase Decrease Amount",
        "negatedLabel": "Net revenue recognized from performance obligations satisfied in previous periods, decrease amount",
        "terseLabel": "Net revenue recognized from performance obligations satisfied in previous periods, decrease amount",
        "verboseLabel": "Contract with customer performance obligation satisfied In previous period increase (decrease) amount"
       }
      }
     },
     "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriodIncreaseDecreaseAmount",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ContractsToHedgeInChineseRenminbiMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contracts to hedge in Chinese Renminbi.",
        "label": "Contracts To Hedge In Chinese Renminbi [Member]",
        "terseLabel": "Contracts to Hedge in Chinese Renminbi [Member]"
       }
      }
     },
     "localname": "ContractsToHedgeInChineseRenminbiMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_ContractsToHedgeInEuroMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contracts to hedge in euro.",
        "label": "Contracts To Hedge In Euro [Member]",
        "terseLabel": "Contracts to Hedge in Euro [Member]"
       }
      }
     },
     "localname": "ContractsToHedgeInEuroMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_ContractsToHedgeInIndiaRupeeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contracts to hedge in india rupee.",
        "label": "Contracts To Hedge In India Rupee [Member]",
        "terseLabel": "Contracts to Hedge in India Rupee [Member]"
       }
      }
     },
     "localname": "ContractsToHedgeInIndiaRupeeMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_ContractsToHedgeInMexicanPesosMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contracts to hedge in Mexican Pesos.",
        "label": "Contracts To Hedge In Mexican Pesos [Member]",
        "terseLabel": "Contracts to Hedge in Mexican Pesos [Member]"
       }
      }
     },
     "localname": "ContractsToHedgeInMexicanPesosMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_DerivativeDesignatedForHedgeAccountingTerminated": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative designated for hedge accounting terminated.",
        "label": "Derivative Designated For Hedge Accounting Terminated",
        "terseLabel": "Derivative designated for hedge accounting terminated"
       }
      }
     },
     "localname": "DerivativeDesignatedForHedgeAccountingTerminated",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_DividendsPreferredStockAndAccretion": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dividends Preferred Stock and Accretion.",
        "label": "Dividends Preferred Stock and Accretion",
        "negatedLabel": "Preferred stock dividends and accretion",
        "terseLabel": "Preferred stock dividends and accretion"
       }
      }
     },
     "localname": "DividendsPreferredStockAndAccretion",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_EnerconMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Enercon.",
        "label": "Enercon [Member]",
        "terseLabel": "Enercon [Member]"
       }
      }
     },
     "localname": "EnerconMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_EquipmentFinancingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment financing.",
        "label": "Equipment Financing [Member]",
        "terseLabel": "Equipment Financing [Member]"
       }
      }
     },
     "localname": "EquipmentFinancingMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_EuropeMiddleEastAndAfricaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Europe, Middle East and Africa.",
        "label": "Europe Middle East And Africa [Member]",
        "terseLabel": "EMEA [Member]"
       }
      }
     },
     "localname": "EuropeMiddleEastAndAfricaMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_EuropeMiddleEastAndAfricaSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Europe Middle East and Africa segment.",
        "label": "Europe Middle East And Africa Segment [Member]",
        "terseLabel": "EMEA Segment [Member]"
       }
      }
     },
     "localname": "EuropeMiddleEastAndAfricaSegmentMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_FieldServicesInspectionAndRepairServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Field services inspection and repair services.",
        "label": "Field Services Inspection and Repair Services [Member]"
       }
      }
     },
     "localname": "FieldServicesInspectionAndRepairServicesMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_FinanceLeaseCost": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease cost.",
        "label": "Finance Lease Cost",
        "totalLabel": "Total finance lease cost"
       }
      }
     },
     "localname": "FinanceLeaseCost",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_FinanceLeaseLiabilityPaymentsDueAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease liability payments due after year four.",
        "label": "Finance Lease Liability Payments Due After Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFour",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_FinanceLeaseObligationsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance lease obligations.",
        "label": "Finance Lease Obligations [Member]",
        "terseLabel": "Equipment Finance Lease [Member]"
       }
      }
     },
     "localname": "FinanceLeaseObligationsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_FinanceLeasesCostAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance leases cost.",
        "label": "Finance Leases Cost [Abstract]",
        "terseLabel": "Finance lease cost"
       }
      }
     },
     "localname": "FinanceLeasesCostAbstract",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_FinanceLeasesCurrentMaturitiesOfLongTermDebt": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance leases current maturities of long term debt.",
        "label": "Finance Leases Current Maturities Of Long Term Debt",
        "terseLabel": "Current maturities of long-term debt"
       }
      }
     },
     "localname": "FinanceLeasesCurrentMaturitiesOfLongTermDebt",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_FinanceLeasesLongTermDebtNetOfDebtIssuanceCostsAndCurrentMaturities": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance leases long-term debt, net of debt issuance costs and current maturities.",
        "label": "Finance Leases Long Term Debt Net Of Debt Issuance Costs And Current Maturities",
        "terseLabel": "Long-term debt, net of debt issuance costs and current maturities"
       }
      }
     },
     "localname": "FinanceLeasesLongTermDebtNetOfDebtIssuanceCostsAndCurrentMaturities",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_FirstAndSecondAnniversaryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First And Second Anniversary [Member]",
        "label": "First And Second Anniversary [Member]",
        "verboseLabel": "First And Second Anniversary"
       }
      }
     },
     "localname": "FirstAndSecondAnniversaryMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_FirstAnniversaryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First anniversary [Member]",
        "label": "First anniversary [Member]",
        "terseLabel": "First anniversary"
       }
      }
     },
     "localname": "FirstAnniversaryMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_FourthAnniversaryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fourth anniversary [Member]",
        "label": "Fourth anniversary [Member]",
        "terseLabel": "Fourth anniversary"
       }
      }
     },
     "localname": "FourthAnniversaryMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_GEWindMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "GE wind.",
        "label": "G E Wind [Member]",
        "terseLabel": "GE [Member]"
       }
      }
     },
     "localname": "GEWindMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_HedgedAssetFairValueHedgePremiumAmortization": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Hedged asset fair value hedge premium amortization.",
        "label": "Hedged Asset Fair Value Hedge Premium Amortization",
        "terseLabel": "Premium amortization"
       }
      }
     },
     "localname": "HedgedAssetFairValueHedgePremiumAmortization",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInAccruedWarranty": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in accrued warranty.",
        "label": "Increase Decrease In Accrued Warranty",
        "terseLabel": "Accrued warranty"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedWarranty",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInContractAssetsAndLiabilitiesNet": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in contract assets and liabilities net.",
        "label": "Increase Decrease In Contract Assets And Liabilities Net",
        "negatedLabel": "Contract assets and liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractAssetsAndLiabilitiesNet",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInContractAssetsGrossCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_IncreaseDecreaseInContractWithCustomerAsset",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in contract assets gross current.",
        "label": "Increase Decrease In Contract Assets Gross Current",
        "terseLabel": "Gross contract assets, Change"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractAssetsGrossCurrent",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInContractAssetsReclassificationFromContractLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_IncreaseDecreaseInContractWithCustomerAsset",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in contract assets reclassification from contract liabilities.",
        "label": "Increase Decrease In Contract Assets Reclassification From Contract Liabilities",
        "negatedLabel": "Less: reclassification from contract liabilities, Change"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractAssetsReclassificationFromContractLiabilities",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInContractWithCustomerLiabilityGrossCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail": {
       "order": 0.0,
       "parentTag": "tpic_IncreaseDecreaseInContractWithCustomerLiabilityNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in contract with customer liability gross current.",
        "label": "Increase Decrease In Contract With Customer Liability Gross Current",
        "terseLabel": "Gross contract liabilities, Change"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiabilityGrossCurrent",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInContractWithCustomerLiabilityNetCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in contract with customer, liability, net current.",
        "label": "Increase Decrease In Contract With Customer Liability Net Current",
        "terseLabel": "Increase (decrease) in contracts liabilities",
        "totalLabel": "Contract liabilities, Change"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiabilityNetCurrent",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInContractWithCustomerLiabilityReclassificationToContractAssets": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "tpic_IncreaseDecreaseInContractWithCustomerLiabilityNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase decrease in contract with customer liability reclassification to contract assets.",
        "label": "Increase Decrease In Contract With Customer Liability Reclassification To Contract Assets",
        "negatedLabel": "Less: reclassification to contract assets, Change"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiabilityReclassificationToContractAssets",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IncreaseDecreaseInOperatingLeaseRightOfUseAssetsAndOperatingLeaseLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in operating lease right of use assets and operating lease liabilities.",
        "label": "Increase Decrease In Operating Lease Right Of Use Assets And Operating Lease Liabilities",
        "negatedLabel": "Operating lease right of use assets and operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseRightOfUseAssetsAndOperatingLeaseLiabilities",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_IndiaSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "India segment.",
        "label": "India Segment [Member]",
        "terseLabel": "India Segment [Member]"
       }
      }
     },
     "localname": "IndiaSegmentMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_LesseeLeasesNotYetCommencedDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee leases not yet commenced description.",
        "label": "Lessee Leases Not Yet Commenced Description",
        "terseLabel": "Lessee, leases not yet commenced, description"
       }
      }
     },
     "localname": "LesseeLeasesNotYetCommencedDescription",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_LesseeLeasesNotYetCommencedLeaseLiability": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee leases not yet commenced lease liability.",
        "label": "Lessee Leases Not Yet Commenced Lease Liability",
        "terseLabel": "Lessee, leases not yet commenced, lease liability"
       }
      }
     },
     "localname": "LesseeLeasesNotYetCommencedLeaseLiability",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_LesseeOperatingAndFinanceLeaseRenewalTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee operating and finance lease renewal term.",
        "label": "Lessee Operating And Finance Lease Renewal Term",
        "terseLabel": "Lessee, lease options to extend lease term"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeaseRenewalTerm",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "tpic_LesseeOperatingAndFinanceLeasesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee operating and finance leases disclosure.",
        "label": "Lessee Operating And Finance Leases Disclosure [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tpic_LesseeOperatingAndFinanceLeasesRemainingLeaseTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, operating and finance leases remaining lease term.",
        "label": "Lessee Operating And Finance Leases Remaining Lease Term",
        "terseLabel": "Operating and Finance leases, remaining lease terms"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeasesRemainingLeaseTerm",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "tpic_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee operating lease liability payments due after year four.",
        "label": "Lessee Operating Lease Liability Payments Due After Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_LiquidityForContinuingOperations": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liquidity for continuing operations.",
        "label": "Liquidity for Continuing Operations",
        "terseLabel": "Liquidity for continuing operations"
       }
      }
     },
     "localname": "LiquidityForContinuingOperations",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "tpic_MaximumPercentageOfChangeInVariableRateWouldNotHaveImpactOnFutureEarnings": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum percentage of change in variable rate would not have impact on future earnings.",
        "label": "Maximum Percentage Of Change In Variable Rate Would Not Have Impact On Future Earnings",
        "terseLabel": "Maximum percentage of change in variable rate would not have impact on future earnings"
       }
      }
     },
     "localname": "MaximumPercentageOfChangeInVariableRateWouldNotHaveImpactOnFutureEarnings",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "tpic_MexicoSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mexico segment.",
        "label": "Mexico Segment [Member]",
        "terseLabel": "Mexico Segment [Member]"
       }
      }
     },
     "localname": "MexicoSegmentMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_MezzanineEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Mezzanine equity.",
        "label": "Mezzanine equity [Abstract]"
       }
      }
     },
     "localname": "MezzanineEquityAbstract",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_NonMonetaryAssetsAndLiabilitiesAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non monetary assets and liabilities amount",
        "label": "Non monetary assets and liabilities amount",
        "terseLabel": "Non monetary assets and liabilities amount"
       }
      }
     },
     "localname": "NonMonetaryAssetsAndLiabilitiesAmount",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_NordexMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nordex",
        "label": "Nordex [Member]",
        "terseLabel": "Nordex [Member]"
       }
      }
     },
     "localname": "NordexMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_NumberOfMajorCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of major customers.",
        "label": "Number Of Major Customers",
        "terseLabel": "Number of major customers"
       }
      }
     },
     "localname": "NumberOfMajorCustomers",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "tpic_NumberOfOptionsElectToPurchasePreferredStock": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options elect to purchase preferred stock.",
        "label": "Number of options elect to purchase preferred stock",
        "terseLabel": "Number of options elect to purchase preferred stock"
       }
      }
     },
     "localname": "NumberOfOptionsElectToPurchasePreferredStock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_OperationsAndSummaryOfSignificantAccountingPoliciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operations And Summary Of Significant Accounting Policies [Line Items]",
        "label": "Operations And Summary Of Significant Accounting Policies [Line Items]",
        "terseLabel": "Operations And Summary Of Significant Accounting Policies [Line Items]"
       }
      }
     },
     "localname": "OperationsAndSummaryOfSignificantAccountingPoliciesLineItems",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_OperationsAndSummaryOfSignificantAccountingPoliciesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operations And Summary Of Significant Accounting Policies [Table]",
        "label": "Operations And Summary Of Significant Accounting Policies [Table]",
        "terseLabel": "Operations And Summary Of Significant Accounting Policies [Table]"
       }
      }
     },
     "localname": "OperationsAndSummaryOfSignificantAccountingPoliciesTable",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_OtherComprehensiveIncomeLossUnrealizedGainLossOnHedgingDerivativesArisingDuringPeriodNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax",
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Hedging Derivatives Arising During Period, Net of Tax",
        "terseLabel": "Unrealized gain (loss) on hedging derivatives, net of taxes of $0 and $85, $[X] and $736 respectively"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossUnrealizedGainLossOnHedgingDerivativesArisingDuringPeriodNetOfTax",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_OtherComprehensiveIncomeLossUnrealizedGainLossOnHedgingDerivativesArisingDuringPeriodTax": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Hedging Derivatives Arising During Period, Tax",
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Hedging Derivatives Arising During Period, Tax",
        "terseLabel": "Tax on hedging derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossUnrealizedGainLossOnHedgingDerivativesArisingDuringPeriodTax",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnauditedParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_OtherCountriesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other countries.",
        "label": "Other Countries [Member]",
        "terseLabel": "Other Countries [Member]"
       }
      }
     },
     "localname": "OtherCountriesMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_OtherEquipmentFinanceLeasesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other equipment finance leases.",
        "label": "Other Equipment Finance Leases [Member]",
        "terseLabel": "Other Equipment Finance Lease [Member]"
       }
      }
     },
     "localname": "OtherEquipmentFinanceLeasesMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_OtherMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other.",
        "label": "Other [Member]",
        "terseLabel": "Other [Member]"
       }
      }
     },
     "localname": "OtherMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_PercentageOfFinishedGoods": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of finished goods.",
        "label": "Percentage Of Finished Goods",
        "terseLabel": "Percentage of finished goods"
       }
      }
     },
     "localname": "PercentageOfFinishedGoods",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "tpic_PercentageOfIncreaseInPriceOfRawMaterialBearByCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of increase in price of raw material bear by customers.",
        "label": "Percentage Of Increase In Price Of Raw Material Bear By Customers",
        "terseLabel": "Percentage of increase in price of raw material bear by customers"
       }
      }
     },
     "localname": "PercentageOfIncreaseInPriceOfRawMaterialBearByCustomers",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "tpic_PerformanceBasedRestrictedStockUnitsExcludedFromCalculation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance-based restricted stock units excluded from calculation.",
        "label": "Performance-Based Restricted Stock Units Excluded From Calculation",
        "terseLabel": "Performance-based restricted stock units excluded from the calculation because the performance conditions had not been met"
       }
      }
     },
     "localname": "PerformanceBasedRestrictedStockUnitsExcludedFromCalculation",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "tpic_PerformanceBasedRestrictedStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance-based restricted stock units.",
        "label": "Performance Based Restricted Stock Units [Member]",
        "terseLabel": "Performance-Based Restricted Stock Units [Member]"
       }
      }
     },
     "localname": "PerformanceBasedRestrictedStockUnitsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_PotentiallyDilutiveSharesExcludedFromCalculationDueToNetLoss": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Potentially dilutive shares excluded from calculation due to net loss.",
        "label": "Potentially Dilutive Shares Excluded From Calculation Due To Net Loss",
        "terseLabel": "Potentially dilutive shares excluded from the calculation due to net losses in the period"
       }
      }
     },
     "localname": "PotentiallyDilutiveSharesExcludedFromCalculationDueToNetLoss",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "tpic_PrecisionMoldingAndAssemblySystemsAndWindBladesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Precision molding and assembly systems and wind blades.",
        "label": "Precision Molding And Assembly Systems And Wind Blades [Member]",
        "terseLabel": "Precision Molding And Assembly Systems And Wind Blades [Member]"
       }
      }
     },
     "localname": "PrecisionMoldingAndAssemblySystemsAndWindBladesMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_PrecisionMoldingAndAssemblySystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Precision molding and assembly systems.",
        "label": "Precision Molding And Assembly Systems [Member]",
        "terseLabel": "Precision Molding and Assembly Systems [Member]"
       }
      }
     },
     "localname": "PrecisionMoldingAndAssemblySystemsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_PreferredStockToBeProbablyPurchasedAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred Stock To Be Probably Purchased Amount",
        "label": "Preferred Stock To Be Probably Purchased Amount",
        "terseLabel": "Preferred stock to be probably purchased amount"
       }
      }
     },
     "localname": "PreferredStockToBeProbablyPurchasedAmount",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_PreferredStockToBePurchasedAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred Stock to be Purchased Amount.",
        "label": "Preferred Stock to be Purchased Amount",
        "terseLabel": "Preferred stock to be purchased amount"
       }
      }
     },
     "localname": "PreferredStockToBePurchasedAmount",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ProceedsFromRepaymentsOfRevolvingAndTermLoans": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from (repayments of) revolving and term loans.",
        "label": "Proceeds from Repayments of Revolving and Term Loans",
        "terseLabel": "Proceeds from (repayments of) revolving and term loans"
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfRevolvingAndTermLoans",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tpic_ResinAndCarbonFiberMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A solid or liquid synthetic organic polymer used as the basis of plastics, adhesives, varnishes, or other products and a material consisting of thin, strong crystalline filaments of carbon, used as a strengthening material, especially in resins and ceramics.",
        "label": "Resin and Carbon Fiber [Member]",
        "terseLabel": "Resin and Carbon Fiber [Member]"
       }
      }
     },
     "localname": "ResinAndCarbonFiberMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_ResinAndResinSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Resin and Resin Systems [Member]",
        "label": "Resin And Resin Systems [Member]",
        "terseLabel": "Resin and Resin Systems [Member]"
       }
      }
     },
     "localname": "ResinAndResinSystemsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_ResinMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Resin [Member]",
        "label": "Resin [Member]",
        "terseLabel": "Resin [Member]"
       }
      }
     },
     "localname": "ResinMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_RevenueFromContractWithCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from contract with customer.",
        "label": "Revenue From Contract With Customer [Line Items]",
        "terseLabel": "Revenue from Contracts with Customers [Line Items]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerLineItems",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_RevenueFromContractWithCustomerTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of revenue from contract with customer.",
        "label": "Revenue From Contract With Customer [Table]",
        "terseLabel": "Revenue From Contract With Customer [Table]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTable",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_ScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableOperatingAndFinanceLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of future minimum lease payments under noncancelable operating and finance leases.",
        "label": "Schedule Of Future Minimum Lease Payments Under Noncancelable Operating And Finance Leases Table [Text Block]",
        "terseLabel": "Schedule of Future Minimum Lease Payments under Noncancelable Leases"
       }
      }
     },
     "localname": "ScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableOperatingAndFinanceLeasesTableTextBlock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tpic_ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of lease assets and liabilities.",
        "label": "Schedule of Lease Assets and Liabilities Table [Text Block]",
        "terseLabel": "Schedule of Lease Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfLeaseAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tpic_ScheduleOfOtherInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Other information related to leases.",
        "label": "Schedule Of Other Information Related To Leases Table [Text Block]",
        "terseLabel": "Other Information Related to Leases"
       }
      }
     },
     "localname": "ScheduleOfOtherInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tpic_SecondAnniversaryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second anniversary [Member]",
        "label": "Second anniversary [Member]",
        "terseLabel": "Second anniversary"
       }
      }
     },
     "localname": "SecondAnniversaryMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_SecuredAndUnsecuredWorkingCapitalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Secured And Unsecured Working Capital [Member]",
        "label": "Secured And Unsecured Working Capital [Member]",
        "terseLabel": "Secured And Unsecured Working Capital Loans [Member]"
       }
      }
     },
     "localname": "SecuredAndUnsecuredWorkingCapitalMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_SeniorRevolvingLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Senior revolving loan.",
        "label": "Senior Revolving Loan [Member]",
        "terseLabel": "Senior Revolving Loan [Member]"
       }
      }
     },
     "localname": "SeniorRevolvingLoanMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_SiemensGamesaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Siemens Gamesa [Member]",
        "label": "Siemens Gamesa [Member]",
        "terseLabel": "Siemens Gamesa [Member]"
       }
      }
     },
     "localname": "SiemensGamesaMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_SignificantRisksAndUncertaintiesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Significant risks and uncertainties.",
        "label": "Significant Risks And Uncertainties [Text Block]",
        "terseLabel": "Significant Risks and Uncertainties"
       }
      }
     },
     "localname": "SignificantRisksAndUncertaintiesTextBlock",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertainties"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tpic_ThirdAnniversaryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Third anniversary [Member]",
        "label": "Third anniversary [Member]",
        "terseLabel": "Third anniversary"
       }
      }
     },
     "localname": "ThirdAnniversaryMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_TimedBasedRestrictedStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timed-based restricted stock units.",
        "label": "Timed Based Restricted Stock Units [Member]",
        "terseLabel": "Timed-Based Restricted Stock Units [Member]"
       }
      }
     },
     "localname": "TimedBasedRestrictedStockUnitsMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_TimedBasedRestrictedStockUnitsOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timed-Based Restricted Stock Units One [Member]",
        "label": "Timed-Based Restricted Stock Units One [Member]",
        "terseLabel": "Timed-Based Restricted Stock Units One [Member]"
       }
      }
     },
     "localname": "TimedBasedRestrictedStockUnitsOneMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_TransportationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transportation.",
        "label": "Transportation [Member]",
        "terseLabel": "Transportation [Member]"
       }
      }
     },
     "localname": "TransportationMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_UnitedStatesSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "United States segment.",
        "label": "United States Segment [Member]",
        "terseLabel": "U.S. Segment [Member]"
       }
      }
     },
     "localname": "UnitedStatesSegmentMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_UnsecuredFinancingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unsecured financing.",
        "label": "Unsecured Financing [Member]",
        "terseLabel": "Unsecured Financing [Member]"
       }
      }
     },
     "localname": "UnsecuredFinancingMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_UnsecuredTermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unsecured Term Loan [Member]",
        "label": "Unsecured Term Loan [Member]",
        "terseLabel": "Unsecured Term Loan [Member]"
       }
      }
     },
     "localname": "UnsecuredTermLoanMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_VestasMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vestas.",
        "label": "Vestas [Member]",
        "terseLabel": "Vestas [Member]"
       }
      }
     },
     "localname": "VestasMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tpic_WeightedAverageDiscountRateAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average discount rate.",
        "label": "Weighted Average Discount Rate [Abstract]",
        "terseLabel": "Weighted-Average Discount Rate:"
       }
      }
     },
     "localname": "WeightedAverageDiscountRateAbstract",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_WeightedAverageRemainingLeaseTermAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average remaining lease term.",
        "label": "Weighted Average Remaining Lease Term [Abstract]",
        "terseLabel": "Weighted-Average Remaining Lease Term (In Years):"
       }
      }
     },
     "localname": "WeightedAverageRemainingLeaseTermAbstract",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tpic_WindBladesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Wind blades.",
        "label": "Wind Blades [Member]",
        "terseLabel": "Wind Blades [Member]"
       }
      }
     },
     "localname": "WindBladesMember",
     "nsuri": "http://tpicomposites.com/20220630",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate202006Member": {
     "auth_ref": [
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2020-06 Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity's Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity's Own Equity.",
        "label": "Accounting Standards Update 2020-06 [Member]"
       }
      }
     },
     "localname": "AccountingStandardsUpdate202006Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.",
        "label": "Accounts Payable and Accrued Liabilities, Current",
        "terseLabel": "Accounts payable and accrued expenses",
        "totalLabel": "Accounts Payable and Accrued Liabilities, Current, Total"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing accounts payable and accrued liabilities.",
        "label": "Accounts Payable and Accrued Liabilities [Member]",
        "verboseLabel": "Accounts Payable and Accrued Expenses [Member]"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r193",
      "r194"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total",
        "verboseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r15",
      "r239"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "terseLabel": "Accumulated depreciation of property plant and equipment under finance lease arrangements",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "terseLabel": "Accumulated Other Comprehensive Income Loss [Line Items]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r24",
      "r51",
      "r53",
      "r54",
      "r604",
      "r628",
      "r632"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "auth_ref": [
      "r60",
      "r61",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss).",
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "terseLabel": "Accumulated Other Comprehensive Income Loss [Table]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r50",
      "r54",
      "r60",
      "r61",
      "r62",
      "r109",
      "r110",
      "r111",
      "r440",
      "r543",
      "r623",
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "auth_ref": [
      "r49",
      "r54",
      "r60",
      "r61",
      "r62",
      "r440",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.",
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "terseLabel": "Foreign Currency Translation Adjustments [Member]"
       }
      }
     },
     "localname": "AccumulatedTranslationAdjustmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "periodEndLabel": "Additional Paid in Capital, Common Stock, Ending Balance",
        "periodStartLabel": "Additional Paid in Capital, Common Stock, Beginning Balance",
        "terseLabel": "Paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r109",
      "r110",
      "r111",
      "r402",
      "r403",
      "r404",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r113",
      "r114",
      "r115",
      "r116",
      "r126",
      "r196",
      "r197",
      "r208",
      "r209",
      "r210",
      "r211",
      "r213",
      "r214",
      "r402",
      "r403",
      "r404",
      "r415",
      "r416",
      "r417",
      "r418",
      "r432",
      "r433",
      "r434",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r486",
      "r487",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r507",
      "r508",
      "r516",
      "r517",
      "r518",
      "r519",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r582",
      "r583",
      "r584",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Accounting Standards Update [Axis]",
        "terseLabel": "Accounting Standards Update"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r367",
      "r405",
      "r406"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Share-based compensation expense",
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r397"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-Based Payment Arrangement, Expense",
        "terseLabel": "Total share-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r73",
      "r91",
      "r304",
      "r512"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Debt Issuance Costs",
        "terseLabel": "Amortization of debt issuance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti dilutive share-based compensation awards that would be excluded from the calculation if income was reported in the period"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r17",
      "r103",
      "r169",
      "r176",
      "r183",
      "r204",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r436",
      "r441",
      "r485",
      "r544",
      "r546",
      "r587",
      "r602"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r10",
      "r32",
      "r103",
      "r204",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r436",
      "r441",
      "r485",
      "r544",
      "r546"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsHeldForSaleNotPartOfDisposalGroupCurrentOther": {
     "auth_ref": [
      "r237"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets held-for-sale that are not part of a disposal group, expected to be sold within a year or the normal operating cycle, if longer.",
        "label": "Assets Held-for-sale, Not Part of Disposal Group, Current, Other",
        "terseLabel": "Assets held for sale"
       }
      }
     },
     "localname": "AssetsHeldForSaleNotPartOfDisposalGroupCurrentOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r452",
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationAndRecentlyIssuedAccountingPronouncementsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r108"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessDevelopment": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CostOfRevenue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business development involves the development of products and services, their delivery, design and their implementation. Business development includes a number of techniques designed to grow an economic enterprise. Such techniques include, but are not limited to, assessments of marketing opportunities and target markets, intelligence gathering on customers and competitors, generating leads for possible sales, follow-up sales activity, formal proposal writing and business model design. Business development involves evaluating a business and then realizing its full potential, using such tools as marketing, sales, information management and customer service.",
        "label": "Business Development",
        "terseLabel": "Startup and transition costs"
       }
      }
     },
     "localname": "BusinessDevelopment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r95",
      "r96",
      "r97"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Accrued capital expenditures in accounts payable"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r13",
      "r546",
      "r634",
      "r635"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash",
        "periodEndLabel": "Cash, Ending Balance",
        "periodStartLabel": "Cash, Beginning Balance",
        "terseLabel": "Cash in bank deposit and money market accounts"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r7",
      "r13",
      "r93"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "periodEndLabel": "Cash and cash equivalents",
        "periodStartLabel": "Cash and cash equivalents",
        "terseLabel": "Cash and cash equivalents",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]",
        "terseLabel": "Reconciliation of Cash, Cash Equivalents and Restricted Cash:"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r87",
      "r93",
      "r98"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "negatedPeriodEndLabel": "Total cash, cash equivalents and restricted cash shown in the condensed consolidated statements of cash flows",
        "negatedPeriodStartLabel": "Total cash, cash equivalents and restricted cash shown in the condensed consolidated statements of cash flows",
        "periodEndLabel": "Cash, cash equivalents and restricted cash, end of period",
        "periodStartLabel": "Cash, cash equivalents and restricted cash, beginning of year",
        "terseLabel": "Total cash, cash equivalents and restricted cash shown in the condensed consolidated statements of cash flows",
        "totalLabel": "Total cash, cash equivalents and restricted cash shown in the condensed consolidated statements of cash flows",
        "verboseLabel": "Total cash, cash equivalents and restricted cash shown in the condensed consolidated statements of cash flows"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r87",
      "r499"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net change in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFDICInsuredAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash deposited in financial institutions as of the balance sheet date that is insured by the Federal Deposit Insurance Corporation.",
        "label": "Cash, FDIC Insured Amount",
        "terseLabel": "Cash deposit insured amount"
       }
      }
     },
     "localname": "CashFDICInsuredAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowHedgingMember": {
     "auth_ref": [
      "r449"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.",
        "label": "Cash Flow Hedging [Member]",
        "terseLabel": "Cash Flow Hedging [Member]"
       }
      }
     },
     "localname": "CashFlowHedgingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]",
        "terseLabel": "Noncash investing and financing activities:"
       }
      }
     },
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted": {
     "auth_ref": [
      "r0",
      "r1",
      "r112",
      "r196",
      "r197",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r415",
      "r432",
      "r433",
      "r466",
      "r470",
      "r471",
      "r481",
      "r486",
      "r488",
      "r489",
      "r490",
      "r493",
      "r494",
      "r507",
      "r515",
      "r516",
      "r517",
      "r518",
      "r538",
      "r539",
      "r582",
      "r583",
      "r621",
      "r622"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates (true false) whether accounting standards update was adopted.",
        "label": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]",
        "terseLabel": "Change in accounting principle, accounting standards update, adopted"
       }
      }
     },
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate": {
     "auth_ref": [
      "r0",
      "r1",
      "r119",
      "r196",
      "r197",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r415",
      "r432",
      "r433",
      "r434",
      "r466",
      "r470",
      "r471",
      "r472",
      "r475",
      "r481",
      "r486",
      "r488",
      "r489",
      "r490",
      "r493",
      "r494",
      "r507",
      "r515",
      "r516",
      "r517",
      "r518",
      "r538",
      "r539",
      "r582",
      "r583",
      "r621",
      "r622"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date accounting standards update was adopted, in YYYY-MM-DD format.",
        "label": "Change in Accounting Principle, Accounting Standards Update, Adoption Date",
        "terseLabel": "Change in accounting principle, accounting standards update, adoption date"
       }
      }
     },
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect": {
     "auth_ref": [
      "r113",
      "r125",
      "r198",
      "r212",
      "r419"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates (true false) whether effect from applying amendment to accounting standards is immaterial.",
        "label": "Change in Accounting Principle, Accounting Standards Update, Immaterial Effect [true false]",
        "terseLabel": "Change in accounting principle, accounting standards update, immaterial effect"
       }
      }
     },
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r19",
      "r20",
      "r21",
      "r100",
      "r103",
      "r130",
      "r131",
      "r132",
      "r135",
      "r137",
      "r146",
      "r147",
      "r148",
      "r204",
      "r277",
      "r281",
      "r282",
      "r283",
      "r286",
      "r287",
      "r313",
      "r314",
      "r317",
      "r321",
      "r328",
      "r485",
      "r655"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share or per unit of warrants or rights outstanding.",
        "label": "Class of Warrant or Right, Exercise Price of Warrants or Rights",
        "terseLabel": "Exercise price of warrants",
        "verboseLabel": "Class of Warrant or Right, Exercise Price of Warrants or Rights"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r39",
      "r590",
      "r608"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies (Note 14)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r261",
      "r262",
      "r263",
      "r268",
      "r638"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r109",
      "r110",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r21"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued",
        "totalLabel": "Common Stock, Shares, Issued, Total"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r21",
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "terseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r21",
      "r546"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "periodEndLabel": "Common Stock, Value, Issued, Ending Balance",
        "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance",
        "terseLabel": "Common shares, $0.01 par value, 100,000 shares authorized, 37,524 shares issued and 37,258 shares outstanding at March 31, 2022 and 100,000 shares authorized, 37,418 shares issued and 37,180 shares outstanding at December 31, 2021",
        "totalLabel": "Common Stock, Value, Issued, Total"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r57",
      "r59",
      "r68",
      "r435",
      "r444",
      "r594",
      "r611"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited": {
       "order": 0.0,
       "parentTag": "tpic_ComprehensiveIncomeLossAttributableToCommonStockholders",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Comprehensive income (loss)"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r152",
      "r153",
      "r191",
      "r482",
      "r483",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "ConcentrationRiskBenchmarkDomain"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r152",
      "r153",
      "r191",
      "r482",
      "r483",
      "r633",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "ConcentrationRiskByBenchmarkAxis"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r152",
      "r153",
      "r191",
      "r482",
      "r483",
      "r633",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "ConcentrationRiskByTypeAxis"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.",
        "label": "Concentration Risk Disclosure [Text Block]",
        "terseLabel": "Concentration of Customers"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r152",
      "r153",
      "r191",
      "r482",
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Percentage of Total",
        "verboseLabel": "Concentration risk, percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r149",
      "r152",
      "r153",
      "r154",
      "r482",
      "r484",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]",
        "terseLabel": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r152",
      "r153",
      "r191",
      "r482",
      "r483",
      "r637"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "ConcentrationRiskTypeDomain"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Summary of Contract Assets and Contract Liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetGrossCurrent": {
     "auth_ref": [
      "r337",
      "r339"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current",
        "terseLabel": "Gross contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r337",
      "r339",
      "r352"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current",
        "terseLabel": "Contract assets",
        "totalLabel": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r337",
      "r338",
      "r352"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Contract liabilities",
        "totalLabel": "Contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractLiabilitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Contract liability revenue recognized"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r75",
      "r581"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CostOfRevenue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of sales",
        "totalLabel": "Cost of Goods and Services Sold, Total"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r76",
      "r103",
      "r204",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r485"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of Revenue",
        "totalLabel": "Total cost of goods sold"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of Goods Sold [Member]",
        "verboseLabel": "Cost of Sales [Member]"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r150",
      "r191"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfTradeAccountsReceivableFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtConversionOriginalDebtDueDateOfDebtMonthAndYear": {
     "auth_ref": [
      "r95",
      "r97"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The month and year (YYYY-MM) in which the original debt was scheduled to mature.",
        "label": "Debt Conversion, Original Debt, Due Date of Debt, Month and Year",
        "terseLabel": "Credit agreement maturity"
       }
      }
     },
     "localname": "DebtConversionOriginalDebtDueDateOfDebtMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "gYearMonthItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r18",
      "r306",
      "r588",
      "r601"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligations",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-Term Debt, Gross",
        "terseLabel": "Total long-term debt"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r37",
      "r102",
      "r107",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r308",
      "r309",
      "r310",
      "r329",
      "r330",
      "r331",
      "r332",
      "r510",
      "r511",
      "r513",
      "r514",
      "r600"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "terseLabel": "Debt Instrument [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r91",
      "r104",
      "r414",
      "r422",
      "r423",
      "r424"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income taxes",
        "totalLabel": "Deferred Income Tax Expense (Benefit), Total"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r91",
      "r164"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "totalLabel": "Depreciation, Depletion and Amortization, Total"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract [Domain]",
        "terseLabel": "Derivative Contract"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiability": {
     "auth_ref": [
      "r42",
      "r45",
      "r46",
      "r455",
      "r562"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.",
        "label": "Derivative Liability, Subject to Master Netting Arrangement, before Offset",
        "terseLabel": "Derivative liability, fair value",
        "totalLabel": "Derivative Liability, Fair Value, Gross Liability, Total"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeGainOnDerivative": {
     "auth_ref": [
      "r454"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the fair value of derivatives recognized in the income statement.",
        "label": "Derivative, Gain on Derivative",
        "terseLabel": "Gain on hedge recorded to statement of operations"
       }
      }
     },
     "localname": "DerivativeGainOnDerivative",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentDetailAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument Detail [Abstract]"
       }
      }
     },
     "localname": "DerivativeInstrumentDetailAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r45",
      "r453",
      "r456",
      "r459",
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]",
        "terseLabel": "Derivative Instrument"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": {
     "auth_ref": [
      "r450",
      "r453",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of hedging relationship.",
        "label": "Hedging Relationship [Axis]",
        "terseLabel": "Hedging Relationship"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeLiabilityFairValueGrossAsset": {
     "auth_ref": [
      "r43",
      "r44",
      "r47",
      "r455"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of asset associated with financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Liability, Subject to Master Netting Arrangement, Asset Offset",
        "terseLabel": "Derivative assets, fair value"
       }
      }
     },
     "localname": "DerivativeLiabilityFairValueGrossAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Derivative [Line Items]",
        "terseLabel": "Derivative [Line Items]"
       }
      }
     },
     "localname": "DerivativeLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeNotionalAmount": {
     "auth_ref": [
      "r446",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payment on derivative.",
        "label": "Derivative, Notional Amount",
        "terseLabel": "Derivative notional amount"
       }
      }
     },
     "localname": "DerivativeNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeTable": {
     "auth_ref": [
      "r445",
      "r447",
      "r448",
      "r450",
      "r451",
      "r458",
      "r459",
      "r463",
      "r464",
      "r467",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.",
        "label": "Derivative [Table]",
        "terseLabel": "Derivative [Table]"
       }
      }
     },
     "localname": "DerivativeTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Derivatives Fair Value [Line Items]"
       }
      }
     },
     "localname": "DerivativesFairValueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation Of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r351",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation Of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Summary of Disaggregation of Net Sales Revenue by Product for Each of Reportable Segments"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r369",
      "r370",
      "r398",
      "r399",
      "r400",
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "terseLabel": "Share-Based Compensation Plans"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendsPreferredStock": {
     "auth_ref": [
      "r333",
      "r599"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid preferred stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK).",
        "label": "Dividends, Preferred Stock",
        "negatedLabel": "Preferred stock dividends",
        "terseLabel": "Preferred stock dividends",
        "totalLabel": "Dividends, Preferred Stock, Total"
       }
      }
     },
     "localname": "DividendsPreferredStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPreferredStockPaidinkind": {
     "auth_ref": [
      "r333",
      "r599"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid preferred stock dividends declared with the form of settlement in payment-in-kind (PIK).",
        "label": "Dividends, Preferred Stock, Paid-in-kind",
        "terseLabel": "Paid-in-kind preferred stock dividends and accretion"
       }
      }
     },
     "localname": "DividendsPreferredStockPaidinkind",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net loss per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r69",
      "r117",
      "r118",
      "r119",
      "r120",
      "r121",
      "r127",
      "r130",
      "r135",
      "r136",
      "r137",
      "r142",
      "r143",
      "r479",
      "r480",
      "r595",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic",
        "totalLabel": "Earnings Per Share, Basic, Total",
        "verboseLabel": "Basic net income (loss) per common share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r69",
      "r117",
      "r118",
      "r119",
      "r120",
      "r121",
      "r130",
      "r135",
      "r136",
      "r137",
      "r142",
      "r143",
      "r479",
      "r480",
      "r595",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "verboseLabel": "Diluted net income (loss) per common share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r138",
      "r140",
      "r141",
      "r144"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Income (Loss) Per Common Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShare1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r499"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "terseLabel": "Impact of foreign exchange rates on cash, cash equivalents and restricted cash",
        "totalLabel": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeSeveranceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan.",
        "label": "Employee Severance [Member]",
        "terseLabel": "Severance and Other Costs"
       }
      }
     },
     "localname": "EmployeeSeveranceMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "terseLabel": "Stock Options [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r2",
      "r60",
      "r61",
      "r62",
      "r109",
      "r110",
      "r111",
      "r114",
      "r122",
      "r124",
      "r145",
      "r211",
      "r328",
      "r333",
      "r402",
      "r403",
      "r404",
      "r417",
      "r418",
      "r478",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506",
      "r543",
      "r623",
      "r624",
      "r625"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "auth_ref": [
      "r452",
      "r458",
      "r465"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "terseLabel": "Fair Values Derivatives Balance Sheet Location By Derivative Contract Type By Hedging Designation [Table]"
       }
      }
     },
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r523",
      "r529",
      "r537"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail": {
       "order": 1.0,
       "parentTag": "tpic_FinanceLeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "Finance Lease, Interest Expense",
        "terseLabel": "Interest on finance leases"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r525",
      "r531"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Finance Lease, Interest Payment on Liability",
        "terseLabel": "Operating cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, to be Paid [Abstract]",
        "terseLabel": "Finance Leases Abstract"
       }
      }
     },
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r521",
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail2": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease, Liability",
        "terseLabel": "Total lease liabilities",
        "totalLabel": "Total finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability.",
        "label": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability.",
        "label": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, to be Paid",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, to be Paid, Year One",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year.",
        "label": "Finance Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "terseLabel": "Remainder of 2022"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail2": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r524",
      "r531"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease, Principal Payments",
        "negatedLabel": "Principal repayments of finance leases",
        "terseLabel": "Financing cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "totalLabel": "Total property, plant and equipment, net"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": {
     "auth_ref": [
      "r523",
      "r529"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization",
        "negatedLabel": "Less: accumulated depreciation",
        "terseLabel": "Less: accumulated depreciation"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r523",
      "r529",
      "r537"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail": {
       "order": 0.0,
       "parentTag": "tpic_FinanceLeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "terseLabel": "Amortization of assets under finance leases"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization",
        "terseLabel": "Property, plant and equipment, gross"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r534",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Finance leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r533",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Finance leases"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r305",
      "r326",
      "r468",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]",
        "terseLabel": "Financial Instrument"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.",
        "label": "Financial Instruments Disclosure [Text Block]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.",
        "label": "Foreign Tax Authority [Member]",
        "terseLabel": "Foreign Country"
       }
      }
     },
     "localname": "ForeignCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyGainLossMember": {
     "auth_ref": [
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing foreign currency gain (loss).",
        "label": "Foreign Currency Gain (Loss) [Member]",
        "terseLabel": "Foreign Currency Loss [Member]"
       }
      }
     },
     "localname": "ForeignCurrencyGainLossMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r495",
      "r496",
      "r497",
      "r498"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign currency income (loss)",
        "totalLabel": "Foreign Currency Transaction Gain (Loss), before Tax, Total"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.",
        "label": "Foreign Exchange Forward [Member]",
        "terseLabel": "Foreign Exchange Forward Contracts [Member]"
       }
      }
     },
     "localname": "ForeignExchangeForwardMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignExchangeOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An option that allows the holder to buy (if call) or sell (if put) an underlying currency at a fixed exercise rate, expressed as an exchange, during a specified period (an American option) or at a specified date (a European option).",
        "label": "Foreign Exchange Option [Member]",
        "terseLabel": "Foreign Exchange Call Option [Member]"
       }
      }
     },
     "localname": "ForeignExchangeOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSalesOfAssetsAndAssetImpairmentCharges": {
     "auth_ref": [
      "r91"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) from the difference between the sale price or salvage price and the book value of an asset that was sold or retired, and gain (loss) from the write down of assets from their carrying value to fair value.",
        "label": "Gain (Loss) on Sale of Assets and Asset Impairment Charges",
        "negatedLabel": "Loss on sale of assets and asset impairments"
       }
      }
     },
     "localname": "GainLossOnSalesOfAssetsAndAssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative expenses",
        "totalLabel": "General and Administrative Expense, Total",
        "verboseLabel": "General and administrative costs"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r70"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]",
        "terseLabel": "General and Administrative Expenses [Member]"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r74",
      "r103",
      "r169",
      "r175",
      "r179",
      "r182",
      "r185",
      "r204",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r485"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_HedgingRelationshipDomain": {
     "auth_ref": [
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nature or intent of a hedge.",
        "label": "Hedging Relationship [Domain]",
        "terseLabel": "Hedging Relationship"
       }
      }
     },
     "localname": "HedgingRelationshipDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r65",
      "r169",
      "r175",
      "r179",
      "r182",
      "r185",
      "r585",
      "r591",
      "r597",
      "r613"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income (loss) before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r241",
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r105",
      "r409",
      "r411",
      "r412",
      "r420",
      "r425",
      "r429",
      "r430",
      "r431"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r106",
      "r123",
      "r124",
      "r167",
      "r408",
      "r421",
      "r427",
      "r614"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Income tax provision",
        "terseLabel": "Income tax benefit (provision)",
        "totalLabel": "Income Tax Expense (Benefit), Total",
        "verboseLabel": "Income tax provision"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r94"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Cash paid for income taxes, net of refunds",
        "totalLabel": "Income Taxes Paid, Net, Total"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.",
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "terseLabel": "Accounts payable and accrued expenses",
        "totalLabel": "Increase (Decrease) in Accounts Payable and Accrued Liabilities, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Decrease in contract assets",
        "terseLabel": "Increase in contract assets",
        "totalLabel": "Contract assets, Change"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfContractAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "totalLabel": "Increase (Decrease) in Inventories, Total"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as other.",
        "label": "Increase (Decrease) in Other Current Assets",
        "negatedLabel": "Other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other noncurrent assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Other noncurrent liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.",
        "label": "Increase (Decrease) in Prepaid Expense",
        "negatedLabel": "Prepaid expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r64",
      "r163",
      "r509",
      "r512",
      "r596"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense, net",
        "totalLabel": "Interest Expense, Total"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r84",
      "r88",
      "r94"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest Rate Swap [Member]",
        "terseLabel": "Interest Rate Swap"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r8",
      "r29",
      "r546"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Inventory, Net, Total"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "auth_ref": [
      "r29"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.",
        "label": "Inventory, Raw Materials and Supplies, Gross",
        "terseLabel": "Cost and supply of raw materials",
        "totalLabel": "Inventory, Raw Materials and Supplies, Gross, Total"
       }
      }
     },
     "localname": "InventoryRawMaterialsAndSupplies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Components of Lease Cost"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend": {
     "auth_ref": [
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates (true false) whether lessee has option to extend finance lease.",
        "label": "Lessee, Finance Lease, Existence of Option to Extend [true false]",
        "terseLabel": "Lessee, finance lease, existence of option to extend [true false]"
       }
      }
     },
     "localname": "LesseeFinanceLeaseExistenceOfOptionToExtend",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_LesseeFinanceLeaseOptionToExtend": {
     "auth_ref": [
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of terms and conditions of option to extend lessee's finance lease. Includes, but is not limited to, information about option recognized as part of right-of-use asset and lease liability.",
        "label": "Lessee, Finance Lease, Option to Extend",
        "terseLabel": "Lessee, finance lease, option to extend"
       }
      }
     },
     "localname": "LesseeFinanceLeaseOptionToExtend",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee Lease Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]",
        "terseLabel": "Lessee Lease Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": {
     "auth_ref": [
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates (true false) whether lessee has option to extend operating lease.",
        "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]",
        "terseLabel": "Lessee, operating lease, existence of option to extend [true false]"
       }
      }
     },
     "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "terseLabel": "Remainder of 2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r536"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail2": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseOptionToExtend": {
     "auth_ref": [
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of terms and conditions of option to extend lessee's operating lease. Includes, but is not limited to, information about option recognized as part of right-of-use asset and lease liability.",
        "label": "Lessee, Operating Lease, Option to Extend",
        "terseLabel": "Lessee, operating lease, option to extend"
       }
      }
     },
     "localname": "LesseeOperatingLeaseOptionToExtend",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r34",
      "r103",
      "r177",
      "r204",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r437",
      "r441",
      "r442",
      "r485",
      "r544",
      "r545"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r27",
      "r103",
      "r204",
      "r485",
      "r546",
      "r589",
      "r606"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r11",
      "r36",
      "r103",
      "r204",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r437",
      "r441",
      "r442",
      "r485",
      "r544",
      "r545",
      "r546"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LitigationSettlementExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees.",
        "label": "Litigation Settlement, Expense",
        "terseLabel": "Litigation Settlement Expense"
       }
      }
     },
     "localname": "LitigationSettlementExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "auth_ref": [
      "r18"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent.",
        "label": "Long-Term Debt and Lease Obligation",
        "terseLabel": "Long-term debt, net of current maturities",
        "totalLabel": "Long-term Debt and Lease Obligation, Total"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligations",
       "weight": 1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as current.",
        "label": "Long-Term Debt and Lease Obligation, Current",
        "negatedLabel": "Less: Current maturities of long-term debt",
        "terseLabel": "Current maturities of long-term debt",
        "totalLabel": "Long-term Debt and Lease Obligation, Current, Total"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r311"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Long-Term Debt [Text Block]",
        "terseLabel": "Long-Term Debt, Net of Current Maturities"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-Term Debt, Type [Axis]",
        "terseLabel": "Long-term Debt, Type"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r37",
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-Term Debt, Type [Domain]",
        "terseLabel": "Long-term Debt, Type"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesScheduleOfLongtermDebtNetOfCurrentMaturitiesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongtermPurchaseCommitmentPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period covered by the long-term purchase commitment, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Long-Term Purchase Commitment, Period",
        "terseLabel": "Credit agreement"
       }
      }
     },
     "localname": "LongtermPurchaseCommitmentPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r87",
      "r89",
      "r92"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "terseLabel": "Net cash used in operating activities",
        "totalLabel": "Net cash used in operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r6",
      "r55",
      "r58",
      "r62",
      "r66",
      "r92",
      "r103",
      "r113",
      "r117",
      "r118",
      "r119",
      "r120",
      "r123",
      "r124",
      "r133",
      "r169",
      "r175",
      "r179",
      "r182",
      "r185",
      "r204",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r480",
      "r485",
      "r592",
      "r609"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net loss",
        "totalLabel": "Net loss"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r117",
      "r118",
      "r119",
      "r120",
      "r127",
      "r128",
      "r134",
      "r137",
      "r169",
      "r175",
      "r179",
      "r182",
      "r185"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "terseLabel": "Net loss attributable to common stockholders",
        "totalLabel": "Net Loss Available to Common Stockholders"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationAndRecentlyIssuedAccountingPronouncementsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Total other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expense):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfOperatingSegments": {
     "auth_ref": [
      "r157"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.",
        "label": "Number of Operating Segments",
        "terseLabel": "Number of operating segments"
       }
      }
     },
     "localname": "NumberOfOperatingSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r169",
      "r175",
      "r179",
      "r182",
      "r185"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Total loss from operations",
        "totalLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r530",
      "r537"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Total operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesComponentsOfLeaseCostDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid [Abstract]",
        "terseLabel": "Operating Leases Abstract"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r521"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail2": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "totalLabel": "Total operating lease liabilities",
        "verboseLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNoncancelableLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r521"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Current operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r521"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Noncurrent operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r526",
      "r531"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesSupplementalCashFlowInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right of use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLeasesScheduleOfLeaseAssetsAndLiabilitiesDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r534",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r533",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesOtherInformationRelatedToLeasesDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r31",
      "r546"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other noncurrent assets",
        "totalLabel": "Other Assets, Noncurrent, Total"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax": {
     "auth_ref": [
      "r54",
      "r60",
      "r61",
      "r500",
      "r502",
      "r506"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), before Reclassifications, before Tax",
        "terseLabel": "Other comprehensive income (loss) before reclassifications"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustments",
        "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r56",
      "r59",
      "r60",
      "r61",
      "r63",
      "r67",
      "r328",
      "r500",
      "r505",
      "r506",
      "r593",
      "r610"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Other comprehensive income (loss)",
        "totalLabel": "Net current period other comprehensive income (loss)",
        "verboseLabel": "Net current period other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "verboseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOMELOSSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossTax": {
     "auth_ref": [
      "r52",
      "r60",
      "r67",
      "r408",
      "r426",
      "r428",
      "r500",
      "r503",
      "r506",
      "r593",
      "r610"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Tax",
        "negatedLabel": "Net tax effect",
        "totalLabel": "Other Comprehensive Income (Loss), Tax, Total"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCurrentAssetsMember": {
     "auth_ref": [
      "r452",
      "r465"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current assets.",
        "label": "Other Current Assets [Member]",
        "terseLabel": "Other Current Assets [Member]"
       }
      }
     },
     "localname": "OtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other noncurrent liabilities",
        "totalLabel": "Other Liabilities, Noncurrent, Total"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other Noncurrent Liabilities [Member]"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsFairValuesAndLocationOfFinancialInstrumentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income",
        "terseLabel": "Miscellaneous income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherRestructuringCosts": {
     "auth_ref": [
      "r91"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_RestructuringCharges",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses associated with a discontinued operation or an asset retirement obligation.",
        "label": "Other Restructuring Costs",
        "terseLabel": "Other restructuring costs"
       }
      }
     },
     "localname": "OtherRestructuringCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchase of common stock including shares withheld in lieu of income taxes"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRestructuring": {
     "auth_ref": [
      "r85",
      "r247"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.",
        "label": "Payments for Restructuring",
        "negatedLabel": "Payments",
        "terseLabel": "Payments"
       }
      }
     },
     "localname": "PaymentsForRestructuring",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property, plant and equipment",
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance-based Restricted Stock Units (PSUs) [Member]"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "auth_ref": [
      "r9",
      "r30",
      "r225",
      "r226"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense, Current",
        "terseLabel": "Prepaid expenses",
        "totalLabel": "Prepaid Expense, Current, Total"
       }
      }
     },
     "localname": "PrepaidExpenseCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromOtherDebt": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from debt classified as other.",
        "label": "Proceeds from Other Debt",
        "terseLabel": "Net proceeds from other debt"
       }
      }
     },
     "localname": "ProceedsFromOtherDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromShortTermDebt": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.",
        "label": "Proceeds from Short-Term Debt",
        "terseLabel": "Proceeds from working capital loans",
        "totalLabel": "Proceeds from Short-term Debt, Total"
       }
      }
     },
     "localname": "ProceedsFromShortTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r80",
      "r401"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductConcentrationRiskMember": {
     "auth_ref": [
      "r151"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues during the period from a specified product are to a specified benchmark, such as total net revenues, segment revenues or product line revenues. May also reflect the percentage contribution the product made to operating results. Risk is materially adverse effects of a loss of sales of a significant product or line of products, which could occur upon loss of rights to sell, distribute or license others; loss of patent or copyright protection; or technological obsolescence.",
        "label": "Product Concentration Risk [Member]"
       }
      }
     },
     "localname": "ProductConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r35",
      "r269",
      "r270"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Product Warranty Accrual, Current",
        "periodEndLabel": "Warranty accrual at end of period",
        "periodStartLabel": "Warranty accrual at beginning of period",
        "terseLabel": "Accrued warranty"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyScheduleOfWarrantyAccrualActivityDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r271"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Cost of warranty services provided during the period",
        "totalLabel": "Standard and Extended Product Warranty Accrual, Decrease for Payments, Total"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyScheduleOfWarrantyAccrualActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r273"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.",
        "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Changes in estimate for pre-existing warranties, including expirations during the period",
        "totalLabel": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties, Total"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyScheduleOfWarrantyAccrualActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r272"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.",
        "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued",
        "terseLabel": "Accrual during the period",
        "totalLabel": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued, Total"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyScheduleOfWarrantyAccrualActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "Accrued Warranty"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarranty"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r6",
      "r55",
      "r58",
      "r62",
      "r86",
      "r103",
      "r113",
      "r123",
      "r124",
      "r169",
      "r175",
      "r179",
      "r182",
      "r185",
      "r204",
      "r277",
      "r278",
      "r279",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r435",
      "r438",
      "r439",
      "r443",
      "r444",
      "r480",
      "r485",
      "r597"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net loss",
        "totalLabel": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r240"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r14",
      "r238"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "terseLabel": "Cost of property plant and equipment leased under finance lease arrangements",
        "totalLabel": "Property, Plant and Equipment, Gross, Total"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r240",
      "r546",
      "r598",
      "r607"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "terseLabel": "Property, plant and equipment, net",
        "totalLabel": "Property, Plant and Equipment, Net, Total",
        "verboseLabel": "Total property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PublicUtilitiesInventoryAxis": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of inventory held.",
        "label": "Inventory [Axis]"
       }
      }
     },
     "localname": "PublicUtilitiesInventoryAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PublicUtilitiesInventoryTypeDomain": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property that is held for sale in the ordinary course of business, in process of production for such sale or is to be currently consumed in the production of goods or services to be available for sale.",
        "label": "Inventory [Domain]"
       }
      }
     },
     "localname": "PublicUtilitiesInventoryTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReclassificationAdjustmentOutOfAccumulatedOtherComprehensiveIncomeLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Reclassification Adjustment out of Accumulated Other Comprehensive Income [Line Items]",
        "terseLabel": "Reclassification Adjustment Out Of Accumulated Other Comprehensive Income [Line Items]"
       }
      }
     },
     "localname": "ReclassificationAdjustmentOutOfAccumulatedOtherComprehensiveIncomeLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax": {
     "auth_ref": [
      "r54",
      "r60",
      "r61",
      "r500",
      "r504",
      "r506"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss).",
        "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, before Tax",
        "negatedLabel": "Amounts reclassified from AOCL"
       }
      }
     },
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis": {
     "auth_ref": [
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by item reclassified out of accumulated other comprehensive income (loss).",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Axis]",
        "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income"
       }
      }
     },
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain": {
     "auth_ref": [
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Item reclassified out of accumulated other comprehensive income (loss).",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Domain]",
        "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income"
       }
      }
     },
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies item reclassified out of accumulated other comprehensive income (loss).",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Member]",
        "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income [Member]"
       }
      }
     },
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTable": {
     "auth_ref": [
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about items reclassified out of accumulated other comprehensive income (loss).",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Table]",
        "terseLabel": "Reclassification Out Of Accumulated Other Comprehensive Income [Table]"
       }
      }
     },
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsScheduleOfPretaxAmountsReclassifiedFromAccumulatedOtherComprehensiveLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss).",
        "label": "Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]",
        "terseLabel": "Schedule of Pretax Amounts Reclassified from Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfShortTermDebt": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer.",
        "label": "Repayments of Short-Term Debt",
        "negatedLabel": "Repayments of working capital loans",
        "terseLabel": "Repayments of working capital loans",
        "totalLabel": "Repayments of Short-term Debt, Total"
       }
      }
     },
     "localname": "RepaymentsOfShortTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCash": {
     "auth_ref": [
      "r13",
      "r98",
      "r586",
      "r603"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.",
        "label": "Restricted Cash",
        "periodEndLabel": "Restricted cash",
        "periodStartLabel": "Restricted cash",
        "terseLabel": "Restricted cash",
        "totalLabel": "Restricted Cash, Total"
       }
      }
     },
     "localname": "RestrictedCash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r13",
      "r93",
      "r98"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Current",
        "terseLabel": "Restricted cash",
        "totalLabel": "Restricted Cash and Cash Equivalents, Current, Total",
        "verboseLabel": "Cash in short-term deposits in interest bearing accounts"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted stock"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units (RSUs) [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringAndRelatedActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring and Related Activities [Abstract]"
       }
      }
     },
     "localname": "RestructuringAndRelatedActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r245",
      "r247",
      "r250",
      "r259",
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.",
        "label": "Restructuring and Related Activities Disclosure [Text Block]",
        "terseLabel": "Restructuring Charges, Net"
       }
      }
     },
     "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNet1"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestructuringCharges": {
     "auth_ref": [
      "r91",
      "r244",
      "r253",
      "r256"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.",
        "label": "Restructuring Charges",
        "terseLabel": "Restructuring charges, net",
        "totalLabel": "Total restructuring charges, net"
       }
      }
     },
     "localname": "RestructuringCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "auth_ref": [
      "r246",
      "r247",
      "r256",
      "r257"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of restructuring cost.",
        "label": "Restructuring Type [Axis]"
       }
      }
     },
     "localname": "RestructuringCostAndReserveAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Restructuring Cost and Reserve [Line Items]"
       }
      }
     },
     "localname": "RestructuringCostAndReserveLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringReserve": {
     "auth_ref": [
      "r247",
      "r254"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.",
        "label": "Restructuring Reserve",
        "periodEndLabel": "Restructuring Reserve, Ending Balance",
        "periodStartLabel": "Restructuring Reserve, Beginning Balance",
        "totalLabel": "Restructuring Reserve, Total"
       }
      }
     },
     "localname": "RestructuringReserve",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r23",
      "r333",
      "r546",
      "r605",
      "r627",
      "r632"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "terseLabel": "Accumulated deficit",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r2",
      "r109",
      "r110",
      "r111",
      "r114",
      "r122",
      "r124",
      "r211",
      "r402",
      "r403",
      "r404",
      "r417",
      "r418",
      "r478",
      "r623",
      "r625"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r160",
      "r161",
      "r174",
      "r180",
      "r181",
      "r187",
      "r188",
      "r191",
      "r350",
      "r351",
      "r581"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Net sales",
        "totalLabel": "Revenue from Contract with Customer, Excluding Assessed Tax, Total",
        "verboseLabel": "Net sales revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r348",
      "r349",
      "r354",
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue From Contracts with Customers"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r346"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Transaction price allocated to remaining performance obligations to be satisfied in future periods",
        "verboseLabel": "Total remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail1"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail1"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Remaining performance obligations, expected timing of satisfaction period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail1"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]",
        "terseLabel": "Schedule of Estimate to Recognize Remaining Performance Obligations as Revenue"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "% of Total remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersScheduleOfEstimateToRecognizeRemainingPerformanceObligationsAsRevenueDetail1"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "auth_ref": [
      "r532",
      "r537"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "terseLabel": "Property, plant, and equipment obtained in exchange for new finance lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r532",
      "r537"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Right of use assets obtained in exchange for new operating lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "localname": "RisksAndUncertaintiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r152",
      "r191"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales Revenues [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersScheduleOfRevenuesFromCertainCustomersDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSignificantRisksAndUncertaintiesAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "auth_ref": [
      "r54",
      "r505",
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "terseLabel": "Schedule of Changes in Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.",
        "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]",
        "terseLabel": "Supplemental Cash Flow Information Related to Leases"
       }
      }
     },
     "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": {
     "auth_ref": [
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.",
        "label": "Share-Based Payment Arrangement, Cost by Plan [Table Text Block]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award"
       }
      }
     },
     "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of Long-Term Debt, Net of Current Maturities"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Fair Values and Location of Financial Instruments"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Schedule of Share-based Compensation Expense Recognized in Condensed Consolidated Statements of Operations"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Schedule of Warranty Accrual Activity"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureAccruedWarrantyTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "auth_ref": [
      "r246",
      "r247",
      "r248",
      "r249",
      "r256",
      "r257",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.",
        "label": "Schedule of Restructuring and Related Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "auth_ref": [
      "r251",
      "r252",
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.",
        "label": "Restructuring and Related Costs [Table Text Block]",
        "terseLabel": "Schedule of Restructuring Charges, Net"
       }
      }
     },
     "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "auth_ref": [
      "r247",
      "r257"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.",
        "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]",
        "terseLabel": "Summary of Restructuring Liability"
       }
      }
     },
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.",
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "terseLabel": "Schedule of Revenues from Customers"
       }
      }
     },
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r169",
      "r172",
      "r178",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule Of Segment Reporting Information By Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r169",
      "r172",
      "r178",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of Segment Information"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r366",
      "r368",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "terseLabel": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r139"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).",
        "label": "Schedule of Weighted Average Number of Shares [Table Text Block]",
        "terseLabel": "Computation of Basic and Diluted Net Income (Loss) per Common Share"
       }
      }
     },
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "auth_ref": [
      "r149",
      "r152",
      "r153",
      "r154",
      "r482",
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Schedule of Trade Accounts Receivable from Certain Customers"
       }
      }
     },
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureConcentrationOfCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuritiesPurchasedUnderAgreementsToResellIncrease": {
     "auth_ref": [
      "r215"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase from purchase of security purchased under agreement to resell.",
        "label": "Securities Purchased under Agreements to Resell, Increase",
        "terseLabel": "Purchase agreement"
       }
      }
     },
     "localname": "SecuritiesPurchasedUnderAgreementsToResellIncrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r156",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r174",
      "r175",
      "r176",
      "r177",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r185",
      "r191",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r249",
      "r258",
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]",
        "terseLabel": "Segments"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r156",
      "r158",
      "r159",
      "r169",
      "r173",
      "r179",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r190",
      "r191",
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReporting"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SeriesAPreferredStockMember": {
     "auth_ref": [
      "r19",
      "r20",
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Series A preferred stock.",
        "label": "Series A Preferred Stock [Member]",
        "terseLabel": "Series A Preferred Stock [Member]"
       }
      }
     },
     "localname": "SeriesAPreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SeveranceCosts1": {
     "auth_ref": [
      "r91"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_RestructuringCharges",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses for special or contractual termination benefits provided to current employees involuntarily terminated under a benefit arrangement associated exit or disposal activities pursuant to an authorized plan. Excludes expenses related to one-time termination benefits, a discontinued operation or an asset retirement obligation.",
        "label": "Severance Costs",
        "terseLabel": "Severance"
       }
      }
     },
     "localname": "SeveranceCosts1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetScheduleOfRestructuringChargesNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r90"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Share-based compensation expense",
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "verboseLabel": "Share-based compensation plans, shares issued"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationExpenseRecognizedInCondensedConsolidatedStatementsOfOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "verboseLabel": "Stock options issued to employees"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "auth_ref": [
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number",
        "verboseLabel": "Time-based RSUs Vest"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r370"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage",
        "terseLabel": "Vesting percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance, shares",
        "periodStartLabel": "Beginning balance, shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r99",
      "r108"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r5",
      "r156",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165",
      "r166",
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r174",
      "r175",
      "r176",
      "r177",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r185",
      "r191",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r242",
      "r249",
      "r258",
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]",
        "terseLabel": "Segments"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureRevenueFromContractsWithCustomersSummaryOfDisaggregationOfNetSalesRevenueByProductForEachOfReportableSegmentsDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureSegmentReportingScheduleOfSegmentInformationParentheticalDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r19",
      "r20",
      "r21",
      "r100",
      "r103",
      "r130",
      "r131",
      "r132",
      "r135",
      "r137",
      "r146",
      "r147",
      "r148",
      "r204",
      "r277",
      "r281",
      "r282",
      "r283",
      "r286",
      "r287",
      "r313",
      "r314",
      "r317",
      "r321",
      "r328",
      "r485",
      "r655"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureLongtermDebtNetOfCurrentMaturitiesAdditionalInformationDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r2",
      "r41",
      "r60",
      "r61",
      "r62",
      "r109",
      "r110",
      "r111",
      "r114",
      "r122",
      "r124",
      "r145",
      "r211",
      "r328",
      "r333",
      "r402",
      "r403",
      "r404",
      "r417",
      "r418",
      "r478",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506",
      "r543",
      "r623",
      "r624",
      "r625"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r109",
      "r110",
      "r111",
      "r145",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture",
        "terseLabel": "Issuances under share-based compensation plan, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, before Forfeiture",
        "terseLabel": "Issuances under share-based compensation plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensationGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r21",
      "r25",
      "r26",
      "r103",
      "r195",
      "r204",
      "r485",
      "r546"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquityScheduleOfChangesInAccumulatedOtherComprehensiveLossDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r101",
      "r314",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r327",
      "r333",
      "r336",
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureStockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r547",
      "r548"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureSubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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.",
        "label": "Tax Credit Carryforward [Line Items]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardTable": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A listing of tax credit carryforwards available to reduce future taxable income including descriptions, amounts, expiration dates, limitations on use and the related deferred tax assets and valuation allowances.",
        "label": "Tax Credit Carryforward [Table]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureIncomeTaxesAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TemporaryEquityAccretionToRedemptionValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of accretion of temporary equity to its redemption value during the period.",
        "label": "Temporary Equity, Accretion to Redemption Value"
       }
      }
     },
     "localname": "TemporaryEquityAccretionToRedemptionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TemporaryEquityCarryingAmountAttributableToParent": {
     "auth_ref": [
      "r277",
      "r281",
      "r282",
      "r283",
      "r286",
      "r287"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, attributable to parent, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer.",
        "label": "Temporary Equity, Carrying Amount, Attributable to Parent",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Series A Preferred Stock, $0.01 par value, 400 shares authorized; 350 and 350shares issued and outstanding, respectively at March 31, 2022 and December 31, 2021; liquidation preference of $[473,227] at March 31, 2022 and December 31, 2021"
       }
      }
     },
     "localname": "TemporaryEquityCarryingAmountAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited",
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TemporaryEquityLiquidationPreference": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate liquidation preference (or restrictions) of stock classified as temporary equity that has a preference in involuntary liquidation considerably in excess of the par or stated value of the shares. The liquidation preference is the difference between the preference in liquidation and the par or stated values of the share. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer.",
        "label": "Temporary Equity, Liquidation Preference",
        "terseLabel": "Liquidation preference"
       }
      }
     },
     "localname": "TemporaryEquityLiquidationPreference",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TemporaryEquityParOrStatedValuePerShare": {
     "auth_ref": [
      "r12",
      "r312"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount of par value or stated value of stock classified as temporary equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable.",
        "label": "Temporary Equity, Par or Stated Value Per Share",
        "terseLabel": "Preferred Stock, Par or Stated Value Per Share"
       }
      }
     },
     "localname": "TemporaryEquityParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_TemporaryEquitySharesAuthorized": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of securities classified as temporary equity that are permitted to be issued by an entity's charter and bylaws. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer.",
        "label": "Temporary Equity, Shares Authorized",
        "terseLabel": "Preferred Stock, Shares Authorized"
       }
      }
     },
     "localname": "TemporaryEquitySharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TemporaryEquitySharesIssued": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of securities classified as temporary equity that have been sold (or granted) to the entity's shareholders. Securities issued include securities outstanding and securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer.",
        "label": "Temporary Equity, Shares Issued",
        "terseLabel": "Preferred Stock, Shares Issued"
       }
      }
     },
     "localname": "TemporaryEquitySharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TemporaryEquitySharesOutstanding": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of securities classified as temporary equity that have been issued and are held by the entity's shareholders. Securities outstanding equals securities issued minus securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer.",
        "label": "Temporary Equity, Shares Outstanding",
        "terseLabel": "Preferred Stock, Shares Outstanding"
       }
      }
     },
     "localname": "TemporaryEquitySharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r305",
      "r326",
      "r468",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.",
        "label": "Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureFinancialInstrumentsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r40",
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock, at Cost [Member]"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r40",
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "periodEndLabel": "Treasury Stock, Shares, Ending Balance",
        "periodStartLabel": "Treasury Stock, Shares, Beginning Balance",
        "terseLabel": "Treasury stock, shares",
        "totalLabel": "Treasury Stock, Shares, Total"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnauditedParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r40",
      "r334",
      "r335"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock, at cost, 270 shares at June 30, 2022 and 238 shares at December 31, 2021",
        "periodEndLabel": "Treasury Stock, Value, Ending Balance",
        "periodStartLabel": "Treasury Stock, Value, Beginning Balance",
        "totalLabel": "Treasury Stock, Value, Total"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDBALANCESHEETSUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r328",
      "r333",
      "r334"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "negatedLabel": "Common stock repurchased for treasury"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/StatementCondensedConsolidatedStatementsOfChangesInMezzanineEquityAndStockholdersEquityUnaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r0",
      "r1",
      "r2",
      "r3",
      "r4",
      "r113",
      "r114",
      "r115",
      "r116",
      "r126",
      "r196",
      "r197",
      "r208",
      "r209",
      "r210",
      "r211",
      "r213",
      "r214",
      "r402",
      "r403",
      "r404",
      "r415",
      "r416",
      "r417",
      "r418",
      "r432",
      "r433",
      "r434",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r486",
      "r487",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r507",
      "r508",
      "r516",
      "r517",
      "r518",
      "r519",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r582",
      "r583",
      "r584",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Accounting Standards Update [Domain]",
        "terseLabel": "Accounting Standards Update"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureBasisOfPresentationRecentlyAdoptedAccountingPronouncementsAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "auth_ref": [
      "r246",
      "r247",
      "r256",
      "r257"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the types of restructuring costs.",
        "label": "Type of Restructuring [Domain]"
       }
      }
     },
     "localname": "TypeOfRestructuringDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureRestructuringChargesNetSummaryOfRestructuringLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]",
        "terseLabel": "Vesting"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_DisclosureShareBasedCompensationPlansAdditionalInformationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WarrantMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount.",
        "label": "Warrant [Member]",
        "terseLabel": "Warrant"
       }
      }
     },
     "localname": "WarrantMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "terseLabel": "Effect of dilutive awards",
        "totalLabel": "Weighted Average Number Diluted Shares Outstanding Adjustment, Total"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r129",
      "r137"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted",
        "totalLabel": "Diluted weighted-average shares outstanding"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted-average common shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r127",
      "r137"
     ],
     "calculation": {
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail": {
       "order": 0.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "verboseLabel": "Basic weighted-average shares outstanding"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareAdditionalInformationDetails",
      "http://tpicomposites.com/20220630/taxonomy/role/DisclosureNetIncomeLossPerCommonShareComputationOfBasicAndDilutedNetIncomeLossPerCommonShareDetail",
      "http://tpicomposites.com/20220630/taxonomy/role/Role_StatementCONDENSEDCONSOLIDATEDSTATEMENTSOFOPERATIONSUnaudited"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 6
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(27)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31010-122693"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL120254519-210437"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL120320025-210437"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL120320025-210437"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=126905020&loc=d3e5879-108316"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126982154&loc=d3e400-110220"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=109237686&loc=d3e17752-110868"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.3)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(e))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "420",
   "URI": "https://asc.fasb.org/topic&trid=2175745"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "480",
   "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "https://asc.fasb.org/topic&trid=2208762"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e39076-109324"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226038-175313"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)(ii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41641-113959"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=127000641&loc=SL5629052-113961"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121483254&loc=SL120254523-199619"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226003-175313"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a),(b),(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL120154346-209984"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=SL51823488-111719"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(24))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(20))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r650": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r651": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r652": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r653": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r654": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r655": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r656": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)"
  },
  "r657": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)"
  },
  "r658": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(3)"
  },
  "r659": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(i)"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r660": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(ii)"
  },
  "r661": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(iii)"
  },
  "r662": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(22))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(4))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(6))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790"
  }
 },
 "version": "2.1"
}
